mapas de karnought

51
Tema 2. Funciones Lógicas Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas.

Upload: carlos-eduardo-ramirez-vazquez

Post on 24-Nov-2015

28 views

Category:

Documents


1 download

DESCRIPTION

Otro modo de ver al algebra bolleana mas facil

TRANSCRIPT

  • Tema 2. Funciones Lgicas

    Algebra de Conmutacin. Representacin de circuitos digitales. Minimizacin de funciones lgicas.

  • Minimizacin de Funciones Lgicas

    Minimizacin en dos niveles. Mapas de Karnaugh de 3y 4 variables. K-cubos. Definicin de una funcinmnima en dos niveles. Mapas de Karnaugh de 5 y 6variables.

    Implicantes primos. Implicantes primos esenciales.Minimizacin en dos niveles mediante el mapa deKarnaugh en problemas lgicos completa eincompletamente especificados. Minimizacinmultifuncin.

    Minimizacin algortmica en dos niveles (una y variassalidas) y multinivel.

  • Minimizacin en dos niveles de una funcin lgica.Encontrar una forma SOP o POS mnima.Extensin a problemas de varias funcionesObjetivo bsico: encontrar formas lgicas con el menornmero de trminos productos (sumas) y el menornmero de literales por trmino producto (suma).

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

    F

    B C DA

    U1A

    U1B

    U1C

    U2A

    U3A U4A

    L1

  • Sntesis multinivel. Realizar una serie de operacionessobre funciones lgicas que encuentren una buenaforma factorizada (varios niveles AND/OR/AND/OR).Objetivo bsico: reducir el nmero de literales de laexpresin lgica.F(A, B, C, D) = A [ B C + D (C + B) ] + A D

    A DCB

    L2U6D

    U6A

    U6B

    U7AU7B

    U6CU7C

  • Minimizacin en dos niveles El paso de funciones cannicas a funciones estndar

    mediante lgebra de conmutacin no garantizaencontrar una solucin mnima si no se usa un mtodoalgortmico.

    F(x,y,z) = x z + x y z + x z + x y z = x z + x y + x z + x y

    Sin embargo una solucin mnima es:

    F(x,y,z) = y z + x y + x z La aplicacin de los teoremas a mano no permite verrelaciones de simplificacin ocultas. A veces seranecesario expandir la funcin para luego simplificarla.Para ver bien las relaciones se usan mtodos grficos.

  • Mapa de Karnaugh El Mapa de Karnaugh es un mtodo para observar

    una tabla de verdad de forma grfica y observar larelaciones de adyacencia entre los 1s 0s de latabla. Cada grupo de 1, 2, 4, 8, 16, , 1s (0s) de latabla que formen un cuadrado o un rectngulo en elMapa son un cubo (o implicante) de la funcin ycorresponden a un trmino producto (trmino suma).

    0 1

    0

    1

    A B

    0 1

    2 3

    0 1 3 2

    4 5 7 6

    0

    1

    00 01A BC 11 10

    00 01 101100

    01

    11

    10

    ABCD

    4 6

    12 1413 15

    8 9 11 10

    1

    5

    0 3 2

    7

    Cada casilla est marcada en notacin decimal.

  • Los valores en los entradas de los Mapas de Karnaughse sitan de forma que entre cada casilla adyacente delMapa de Karnaugh (izquierda, derecha, arriba, abajo)haya distancia de Hamming 1. Hay que considerar quelos bordes estn unidos y que hay adyacencia entre lasfilas de abajo y arriba, y las columnas derecha eizquierda.

    Cada casilla es adyacente a tantas casillas comoentradas haya en la funcin.

    Los cubos o agrupaciones de 1s 0s de la funcin sonde un orden determinado (k-cubos):1 casilla: 0-cubo; 2 casillas 1-cubo; 4 casillas 2-cubo;etc.El nmero de literales de un k-cubo en funcin de Nentradas es N-k.

  • Siguiendo la notacin de las formas cannicas, al agrupar los 1s dese forman trminos productos:Si X est siempre a 1 => literal X; si X est siempre a 0 => literal XSi X toma valores 0 y 1 => no se utiliza X

    0 1

    0

    1

    A B

    0 1

    0 0

    A B

    0 1

    0

    1

    A B

    0 1

    0 1

    B

    0 1

    0

    1

    A B

    1 1

    0 0

    A

    0 1

    0

    1

    A B

    1 0

    1 1

    A + B

    0 1

    0

    1

    A B

    1 0

    1 0

    B

    0 1

    0

    1

    A B

    0 0

    1 1

    A

    Siguiendo la notacin de las formas cannicas, al agrupar los 0s de se forman trminos sumas:Si X est siempre a 1 => literal X; si X est siempre a 0 => literal XSi X toma valores 0 y 1 => no se utiliza X

    0 1

    0

    1

    A B

    0 1

    2 3

  • En Mapas de 3 4 entradas los bordes estn unidos y se puedenformar cubos entre las filas de abajo y arriba, y las columnasderecha e izquierda

    0 0 0 0

    1 0 0 1

    0

    1

    00 01A BC 11 10

    0 1 1 0

    0 1 1 0

    0

    1

    00 01A BC 11 101 1 1 1

    0 0 0 0

    0

    1

    00 01A BC 11 10

    A C C A

    1 1 1 1

    0 1 1 0

    0

    1

    00 01A BC 11 10

    1 0 0 1

    1 0 0 1

    0

    1

    00 01A BC 11 10

    0 0 0 0

    0 0 0 0

    0

    1

    00 01A BC 11 10

    A + C C A

    0 1 3 2

    4 5 7 6

    0

    1

    00 01A BC 11 10

  • 00AB 00 01 1011

    01

    11

    10

    CD

    0 0

    0 1 0 1

    1 0 1 1

    0

    0

    1 0 1

    1

    00 01 1011

    00

    01

    11

    10

    ABCD

    1 1

    1 1 1 1

    1 1 0 0

    0

    1

    0 0 0

    1

    B D

    A C

    B C D

    C DC + D

    B DB + D

    B CB + C

    00 01 1011

    00

    01

    11

    10

    ABCD

    4 6

    12 14 13 15

    8 9 11 10

    1

    5

    0 3 2

    7

    A C

    B

    00 01 1011

    00

    01

    11

    10

    ABCD

    1 1

    1 1 0 1

    1 1 1 1

    1

    0

    1 0 1

    0

    B C D

    Mapas de Karnaugh de 4 variables F(A,B,C,D)

    A B DA + B + D

  • 00 01 101100

    01

    11

    10

    BCDE

    4 6

    12 1413 15

    8 9 11 10

    1

    5

    0 3 2

    7

    Mapas de Karnaugh de 5 variables F(A,B,C,D,E)

    00 01 101100

    01

    11

    10

    BCDE

    20 22

    28 3029 31

    24 25 27 26

    17

    21

    16 19 18

    23

    A = 0 A = 1

    Tres tipos de k-cubos (o implicantes):- Slo en el mapa A = 0 - Slo en el mapa A = 1- En los dos mapas. Mismas casillas de ambos mapasLa expresin lgica no depende de A.

    A D EA + D + E

    A B DA + B + D

    B EB + E

    Se forma con 2 mapas de Karnaugh de 4 variables con una variable externa de control a valor 0 y 1 en cada mapa

  • 00 01 101100

    01

    11

    10

    CDEF

    4 6

    12 1413 15

    8 9 11 10

    1

    5

    0 3 2

    7

    Mapas de Karnaugh de 6 variables F(A,B,C,D,E,F): 4 mapas de 4 variables controlados por dos variables externas

    00 01 101100

    01

    11

    10

    CDEF

    20 22

    28 3029 31

    24 25 27 26

    17

    21

    16 19 18

    23

    AB = 00 AB = 01

    00 01 101100

    01

    11

    10

    CDEF

    36 38

    44 4645 47

    40 41 43 42

    33

    37

    32 35 34

    39

    00 01 101100

    01

    11

    10

    CDEF

    52 54

    60 6261 63

    56 57 59 58

    49

    53

    48 51 50

    55

    AB = 10 AB = 11

    A B C EA+B+C+E

    A E FA+E+F

    B E FB+E+F

    C D E FC+D+E+F

  • Minimizacin mediante el Mapa de Karnaugh

    Objetivo: generar una expresin mnima en dos nivelespara una funcin lgica.

    Una expresin de tipo SOP (POS) es mnima cuando:

    1. No existe ninguna otra expresin equivalente queincluya menos trminos productos (sumas) => utilizar elmenor nmero de cubos en un mapa de Karnaugh.

    2. No hay otra expresin equivalente que conste delmismo nmero de trminos productos (sumas) y quetenga un menor nmero de literales => utilizar los cubosde mayor tamao en un mapa de Karnaugh.

  • Minimizacin mediante el Mapa de Karnaugh

    Implicante primo de una funcin F es un cubo de F queno est incluido en ningn cubo de mayor orden. El usode implicantes primos en lugar de cubos garantiza quese cumple la condicin 2.

    Un proceso de minimizacin en dos niveles incluye estosdos procesos:

    1. Determinacin de todos los implicantes primos (no esabsolutamente necesario).

    2. Seleccin del menor nmero de implicantes primosque cubre al menos una vez a todos los 1s ( 0s) de lafuncin F. Si hay varias posibilidades tomar los que seancubos de mayor orden.

  • Minimizacin mediante el Mapa de Karnaugh

    Implicante primo esencial: nico implicante primo P quecubre a un minterm (o maxterm) determinado de lafuncin.Por ello, la expresin de F en forma SOP (POS) debeincluir obligatoriamente a P como trmino producto(suma).

    1 regla para minimizacin: Localizar las casillascubiertas por un nico implicante primo P. P es esencial,forma parte de la funcin mnima, y todas las casillas deP quedan cubiertas, por lo que no hay que preocuparsems de ellas.

  • Minimizacin mediante el Mapa de Karnaugh

    2. Cuando una casilla puede ser cubierta por variosimplicantes primos, escoger un implicante primo deorden k mximo entre ellos, que cubra las mismascasillas que quedan sin cubrir (y si se puede algunams), que todos los otros implicantes. Si hay dosimplicantes del mismo tamao que cumplan estacondicin da igual escoger uno u otro.

    3 regla para minimizacin: Buscar la casilla cubierta pormenos implicantes primos y probar con cada uno deellos aplicando de nuevo las tres reglas. Quedarse conla solucin ms pequea generada.

  • Minimizacin mediante el Mapa de Karnaugh

    Funciones incompletamente especificadas

    Generacin de implicantes primos: utilizar los "don'tcare" como si fuesen 1's en la forma SOP y como sifuesen 0's en la forma POS para encontrar implicantesprimos.

    Seleccin de implicantes primos: cubrir todos los 1s(SOP) o los 0s (POS) de la funcin. No hace falta cubrirlos "don't care".

  • Minimizacin de F(x,y,z) = x z + x y z + x z + x y z

    0 1 1 1

    1 1 0 1

    0

    1

    00 01x yz 11 10

    0 1 1 1

    1 1 0 1

    0

    1

    00 01x yz 11 106 Implicantes

    primos

    4 Cubos

    0 1 1 1

    1 1 0 1

    0

    1

    00 01x yz 11 10

    0 1 1 1

    1 1 0 1

    0

    1

    00 01x yz 11 10

    Regla 3. Dos solucionesmnimas

    F(x,y,z) = x y + x z + y z F(x,y,z) = x z + y z + x y

  • 0 1 1 1

    1 1 0 1

    0

    1

    00 01x yz 11 10

    0 X X X

    X X 0 X

    0

    1

    00 01x 11 10

    0 X X X

    X X 0 X

    0

    1

    00 01x yz 11 10

    Regla 3. Dos soluciones. Escoger

    la mnima.Casilla 4

    F(x,y,z) = x y + x z + y z F(x,y,z) = x z + y z + x y

    0 1 1 1

    X X 0 1

    0

    1

    00 01x yz 11 10

    Cubo (4, 5)

    0 1 1 1

    X 1 0 X

    0

    1

    00 01x yz 11 10

    Cubo (4, 6)

    Regla 2. Para (1) mejor(1, 3) que (1, 5). Para 6mejor (2, 6) que (4, 6)

    Regla 2. Para (5) mejor(1, 5) que (4, 5). Para 2mejor (2, 3) que (2, 6)

    yz

    0 1 3 2

    4 5 7 6

    0

    1

    00 01x 11 10

  • Minimizacin mediante el Mapa de Karnaugh

    Resolucin de un problema lgico:

    - Encontrar la tabla de verdad del problema lgico.

    - Plantear el Mapa de Karnaugh.

    - Encontrar la funcin lgica minimizada con el mapa de Karnaugh.

    - Construir el circuito.

    A la vez si es posible

  • Minimizacin mediante el Mapa de KarnaughEncontrar la forma mnima SOP que define en la salida Fsi un nmero A de tres bits (A2, A1, A0) est dentro deunas especificaciones determinadas. Hay variasespecificaciones, por lo que se dispone de dos entradasde control S1 y S0, que determinan la especificacin quese est comprobando. De esta forma, si S1S0 son:

    - 00: F es verdadera si A toma valor entre [0, 2], [4], yfalsa en cualquier otro caso.- 01: F es verdadera si A toma valor entre [1, 3] [6, 7], yfalsa si toma el valor entre [4, 5].- 10: F es verdadera si A es una potencia de 2, y falsa sies mltiplo de 3 (0 no es potencia ni mltiplo).- 11: En este caso se sabe que A no puede ser potenciade 2, y que F es verdadera si el nmero es impar, y falsaen el resto de los casos.

  • Minimizacin mediante el Mapa de Karnaugh

    - 00: F es 1 si A es 0, 1, 2 4F es 0 si A es 3, 5, 6 7 (los que no son 1)

    - 01: F es 1 si A es 1, 2, 3, 6 7 (los 1s)F es 0 si A es 4 5 (los 0s)F es si A es 0 (definido)

    - 10: F es 1 si A es 1, 2 4 (los 1s)F es 0 si A es 3 6 (los 0s)F es si A es 0, 5 7 (no definidos)

    - 11: F es si A es 1, 2 4 (entradas n validas)F es 1 si A es 3, 5, 7 (m1 es F es 0 si A es 0 6 (resto de valores)

    Obtencin de la tabla de verdad a partir de las especificaciones en funcin del valor de A para cada valor de S1S0:

  • 00 01 101100

    01

    11

    10

    A1A0S1S0

    1 1

    0 01 1

    1 1 1

    1

    1

    Mapa de Karnaugh de 5 variables F(A2,A1,A0,S1,S0)

    00 01 101100

    01

    11

    10

    A1A0S1S0

    0 0 1 10 1 0 0

    0

    0

    1 11

    A2 = 0 A2 = 1

    Minimizacin mediante el Mapa de Karnaugh

    A=0

    A=1

    A=2

    A=3

    A=4

    A=5

    A=6

    A=7

    *

    *

    * Casillas que producen implicantes primos esenciales

    F = A1 S1 S0 + A1 A0 S0 + ..

  • 00 01 101100

    01

    11

    10

    A1A0S1S0

    0 0X

    1 X 1

    1

    X

    Mapa de Karnaugh de 5 variables F(A2,A1,A0,S1,S0)

    00 01 101100

    01

    11

    10

    A1A0S1S0

    0 0 X0 X 0 0

    0

    0

    X X

    A2 = 0 A2 = 1

    Minimizacin mediante el Mapa de Karnaugh

    A=0

    A=1

    A=2

    A=3

    A=4

    A=5

    A=6

    A=7

    Regla 2. Casillas que tienen un mejor implicante primo:

    - Para la casilla 31 se usa (7, 15, 23, 31) que cubre tambin a 15 y 23 (las otras opciones slo cubren a 23)

    F = A1 S1 S0 + A1 A0 S0 + A0 S1 S0 + ..

    1

    1

    1

    *

    1 1

  • 00 01 101100

    01

    11

    10

    A1A0S1S0

    0 0X

    1 X 1

    1

    X

    Mapa de Karnaugh de 5 variables F(A2,A1,A0,S1,S0)

    00 01 101100

    01

    11

    10

    A1A0S1S0

    0 0 X0 X 0 0

    0

    0

    X X

    A2 = 0 A2 = 1

    Minimizacin mediante el Mapa de Karnaugh

    A=0

    A=1

    A=2

    A=3

    A=4

    A=5

    A=6

    A=7

    Regla 2. Casillas que tienen un mejor implicante primo

    - Para la casilla 5 se usa (4, 5, 6, 7) se cubre tambin a 4 y 6

    F = A1 S1 S0 + A1 A0 S0 + A0 S1 S0 + A2 A1 A0 + ..

    X

    X

    X 1 * 1

  • 00 01 101100

    01

    11

    10

    A1A0S1S0

    0 0X

    1 X 1

    X

    X

    Mapa de Karnaugh de 5 variables F(A2,A1,A0,S1,S0)

    00 01 101100

    01

    11

    10

    A1A0S1S0

    0 0 X0 X 0 0

    0

    0

    X X

    A2 = 0 A2 = 1

    Minimizacin mediante el Mapa de Karnaugh

    A=0

    A=1

    A=2

    A=3

    A=4

    A=5

    A=6

    A=7

    Se cubren los 1s restantes con el menor nmero posible deimplicantes primos. Hay dos opciones de un slo implicante primo(fila inferior 4 esquinas en A2 = 0). Ambas son del mismo tamao,eligiendo cada una de ellas dan dos soluciones mnimas distintas

    F = A1 S1 S0 + A1 A0 S0 + A0 S1 S0 + A2 A1 A0 + A2 A1 A0

    X

    X

    X X X

    + A2 A0 S0

  • Minimizacin mediante el Mapa de Karnaugh

    F = A1 S1 S0 + A1 A0 S0 + A0 S1 S0 + A2 A1 A0 + A2 A1 A0

  • Minimizacin de varias funciones lgicas

    0 0 1 0

    0 1 1 0

    0

    1

    00 01A BC 11 10

    F2 = A C + B C

    A B C

    F1

    F2

    0 0 1 1

    0 0 0 1

    0

    1

    00 01A BC 11 10

    F1 = A B + B C

    Minimizacin por separadoF1(A, B, C) = (2, 3, 6)F2(A, B, C) = (3, 5, 7)

    Minimizacin mediante el Mapa de Karnaugh

  • Minimizacin de varias funciones lgicas

    0 0 1 0

    0 1 1 0

    0

    1

    00 01A BC 11 10

    F2 = A B C + A C

    0 0 1 1

    0 0 0 1

    0

    1

    00 01A BC 11 10

    F1 = A B C + B C

    Minimizacin conjunta. El circuito se reduce. Hay que reducir el nmero de implicantes de todas las funciones a la vez.

    F1(A, B, C) = (2, 3, 6)F2(A, B, C) = (3, 6, 7)

    A B C

    F1

    F2

    Minimizacin mediante el Mapa de Karnaugh

  • Minimizacin de varias funciones lgicas

    0 0 1 0

    0 1 1 0

    0

    1

    00 01A BC 11 10

    F2

    0 0 1 0

    0 0 0 0

    0

    1

    00 01A BC 11 10

    Hay que encontrar los implicantes primos delas intersecciones entre todas lascombinaciones de funciones.

    F1(A, B, C) = (2, 3, 6)F2(A, B, C) = (3, 6, 7)

    0 0 1 1

    0 0 0 1

    0

    1

    00 01A BC 11 10

    F1

    F1,F2Se obtienen los implicantes primos esenciales:6 F1 => (2, 6) F1; 5 F2 => (5, 7) F2

    0 0 1 0

    0 X X 0

    0

    1

    00 01A BC 11 10

    0 0 1 X

    0 0 0 X

    0

    1

    00 01A BC 11 10

    F1

    Se cubre el resto con el menor nmero deimplicantes primos: 3 F1, 3 F2 => 3 F1,F2

    F2

    Minimizacin mediante el Mapa de Karnaugh

  • Mtodos algortmicos para sntesis lgica

    Cuando se plantean problemas lgicos muycomplejos no slo la minimizacin sino casi laresolucin a mano se hace inviable. Se requierenherramientas de ayuda al diseo (CAD) que generenautomticamente los resultados de sntesis de lasfunciones lgicas.

    Existen algoritmos aplicados a la sntesis defunciones en dos niveles de una y varias salidas, y ala sntesis multinivel, la mayora de ellos demasiadocomplejos para ser explicados en un tiemporazonable.

  • Mtodo Quine-McCluskey Algoritmo de minimizacin en dos niveles. Las variantes

    de este algoritmo tiene un lmite de unas 20 entradas y/osalidas para un tiempo de cmputo razonable.

    Se divide en dos partes generacin de implicantesprimos y seleccin de implicantes primos. La descripcincorresponde a una funcin de N entradas y una salidaaunque puede adaptarse para varias salidas.

    Generacin de implicantes primos: se parte de los 0-cubos (1s 0s, y - dont cares) representados enbinario y ordenados por el nmero i de 1s en sucodificacin binaria G[0][i]. Dentro del procedimiento sevan generando k-cubos que se guardan en los G[k][i].Los k-cubos que no generan ningn (k+1)-cubo sonimplicantes primos.

  • Generacin de implicantes primos1. k = 0. Agrupar los 0-cubos en grupos G[0][i], siendo i el nmero de

    1s en la codificacin binaria del minterm. i = 0.2. Comparar cada elemento A del grupo G[k][i] con todos los

    elementos B del grupo G[k][i+1]. Si A y B difieren en una nicaposicin P, y A es 0 y B es 1 , A es 1 y B es 0, se genera unelemento C en el grupo G[k+1][i]. C es como A con el valor de laposicin P fijado a . No se debe duplicar C si aparece variasveces. A y B se marcan, para indicar que no son implicantesprimos.

    3. Si i N-K-1, incrementar i, volver a 2; si no, incrementar k, si k =N no se ha generado ningn elemento C para el anterior k pasara 4, si no hacer i = 0, volver a 2.

    4. Los elementos no marcados son implicantes primos. Para suforma lgica SOP (POS): valor a 0 => entrada complementada(sin complementar), valor a 1 => entrada sin complementar(complementada), valor a => no depende de la entrada. Fin delalgoritmo.

  • A B D (a)A C D (b)

    A C D (c)

    B C D (d)

    A B C (e)

    A C D (f)A B D (g)

    B C (h)

    F(A, B, C, D) = (1, 2, 3, 5, 11, 12, 15) + (6, 10, 13)

  • Seleccin de implicantes primos1. Formar una tabla de implicantes primos (filas) frente a 0-cubos: 1s

    (SOP) 0s (POS). No usar los dont cares. Marcar los 0-cuboscubiertos por cada implicante primo.

    2. Realizar los pasos 3, 4, 5 mientras queden columnas en la tabla se produzcan modificaciones en ella. Si la tabla queda vacagenerar la funcin y finalizar, si no ir a 6.

    3. Buscar columnas con una nica marca. Incluir el implicante primocorrespondiente en la funcin y eliminar de la tabla las columnascubiertas por el implicante.

    4. Si la fila A incluye a la fila B (mismas marcas en A que en B yalguna ms en A) y el coste de A es menor o igual que el coste deB, eliminar la fila B.

    5. Si la columna A incluye a la columna B, eliminar la columna A.6. La tabla es cclica. Seleccionar un implicante primo IP y hacer dos

    pruebas, quedarse con la que genere una funcin ms pequea:- Incluir IP en la funcin, eliminando las columnas de la tabla.Volver a 2.- No incluir IP en la funcin, eliminar la fila de IP. Volver a 2.

  • Criterio de Coste. Nmero de puertas y lneas para cada implicante

    Columna 12 conuna marca. Incluir(e). En la funcinF = e +

    (h) incluye a (c)(b) incluye a (d)(f) incluye a (g)con menor coste.Se eliminan (c), (d)y (g) (3) incluye a (2)

    (1) incluye a (5)(11) incluye a (15)Se eliminan (3), (1) y (11)

    Todas las columnas conuna marca. La funcinF = e + b + f + h

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

  • Mtodo Quine-McCluskey El algoritmo puede adaptarse a minimizacin de varias

    funciones.

    Generacin de implicantes primos en minimizacin devarias funciones:- Se aade a cada k-cubo una etiqueta por cada funcinque indica si pertenece (1) o no (0) a la funcin.- Al formar un (k+1)-cubo C a partir de dos k-cubos A yB, las etiquetas de C son el AND lgico de las etiquetasde A y B. Si todas las etiquetas de C son 0, C se elimina.- El (k+1)-cubo C cubre a los k-cubos A ( B) slo si lasetiquetas de C son iguales a las etiquetas de A ( de B).

  • F1(A, B, C) = (0, 3, 4, 6)F2(A, B, C) = (0, 4, 6, 7)F3(A, B, C) = (0, 3, 5, 7)

    2

  • Mtodo Quine-McCluskey Seleccin de implicantes primos en minimizacin de

    varias funciones:1. Se genera una tabla de implicantes primos frente aminterms de cada funcin. Los implicantes primos slocubren minterms en las funciones a las que pertenecen

    0 3 4 6 0 4 6 7 0 3 5 7 F1 F2 F3

    (0) F1,F2,F3 (3) F1,F3 (7) F2,F3

    (0,4) F1,F2 (4,6) F1,F2(3,7) F3 (5,7) F3(6,7) F2

    Criterio de coste: nmero de implicantes. Todos los implicantes tienen coste 1

  • Mtodo Quine-McCluskey2. Realizar los pasos 3, 4 y 5 mientras queden columnasen la tabla se produzcan modificaciones en ella. Si latabla queda vaca generar las funciones y finalizar, si noir a 6.3. Se buscan columnas con una marca por funcin. Alincluir un implicante en una funcin se actualiza (sereduce) su coste para el resto de las funciones.4. Realizar eliminacin de filas en toda la tabla.5. Realizar eliminacin de columnas entre las columnasde una funcin.6. Tabla cclica. Resolverla como en la seleccin deimplicante de una funcin: hacer dos pruebas incluyendoun implicante en una funcin o eliminndola de ella, yutilizar la solucin de menor coste final.

  • Mtodo Quine-McCluskey0 3 4 6 0 4 6 7 0 3 5 7

    F1 F2 F3

    (0) (3) (7)

    (0,4) (4,6)(3,7) (5,7)(6,7)

    F1 = (3) + (4,6) + F2 = F3 = (0) + (5,7) +

    0 0 4 6 7 3F1 F2 F3

    (0) (3) (7)

    (0,4) (4,6) (3,7) (6,7)

    C = 0

    C = 1

    C = 0 C = 1 C = 1

    C = 1

    C = 0 Reduccin por filas:(6,7) incluye a (7)(3,7) igual a (3)con menor igual coste. Se eliminan (7) y (3,7)

  • Mtodo Quine-McCluskey

    0 0 4 6 7 3 F1 F2 F3

    (0) (3)

    (0,4) (4,6) (6,7)

    C = 0

    C = 0 C = 1

    C = 1 C = 0

    6F2 incluye a 7F2Se elimina 6F2

    0 0 4 7 3F1 F2 F3

    (0) (3)

    (0,4) (4,6) (6,7)

    C = 0

    C = 0 C = 1

    C = 1 C = 0 F1 = (3) + (4,6) +

    F2 = (6,7) + F3 = (0) + (5,7) + (3)

    0 0 4 F1 F2

    (0) (0,4) (4,6)

    C = 0

    C = 0 C = 1

    Tabla Cclica.Prueba con (0,4):se incluye o noen F2

    (0, 4) F20F1(0)

    (0,4) C = 0 C = 0 F1 = (3) + (4,6) + (0)

    F2 = (6,7) + (0,4)F3 = (0) + (5,7) + (3)Coste: 6 Implicantes

    (0) es igual a (0,4)Se elimina (0,4)Se cubre 0F1 con (0)

    (0, 4) F20 0 4 F1 F2

    (0) (0,4) (4,6)

    C = 0

    C = 0 C = 1

    (0,4) se incluye en (0)Se elimina (0,4)Se cubre 0F1 y 0F2 con(0), y 4F2 con (4,6)

    F1 = (3) + (4,6) + (0)F2 = (6,7) + (0) + (4,6)F3 = (0) + (5,7) + (3)Coste: 5 ImplicantesMejor solucin

  • Espresso Algoritmo estndar de minimizacin en dos niveles. Opera con

    problemas de ms de 100 variables de entrada y/o salida de los queno se conoce cul es la solucin ptima.

    Utiliza un mtodo de aproximaciones sucesivas basado en tresprocedimientos.1. Generacin de implicantes primos (Expand): se parte de unconjunto de cubos que se expanden en determinadas variables paraconfigurar un subconjunto de todos los implicantes primos quepueden cubrir las funciones.2. Se selecciona un conjunto mnimo de implicantes primos delconjunto anterior que cubra a todas las funciones (IrredundantCover). En las iteraciones que se realizan se comprueba que estasolucin encontrada es mejor que la solucin anterior. Si no mejorala solucin finalizar.3. El conjunto anterior se rehace reduciendo algunos implicantesprimos a cubos en las zonas cubiertas por ms de 1 implicante(Reduce). Se vuelve al paso 1.

    Incluye adems procedimientos extra como el clculo de implicantesprimos esenciales.

  • 00 01 1011

    00

    01

    11

    10

    ABCD

    1 1

    0 1 0 1

    1 1 1 1

    1

    1

    1 0 0

    1

    Espresso

    00 01 1011

    00

    01

    11

    10

    ABCD

    1 1

    0 1 0 1

    1 1 1 1

    1

    1

    1 0 0

    1 Reduce

    Expand

    00 01 1011

    00

    01

    11

    10

    ABCD

    1 1

    0 1 0 1

    1 1 1 1

    1

    1

    1 0 0

    1

    00 01 1011

    00

    01

    11

    10

    ABCD

    1 1

    0 1 0 1

    1 1 1 1

    1

    1

    1 0 0

    1

    IrredundantCover

    Expand +Irredundant

    Cover

  • .i 3

    .o 3

    .ilb a b c

    .ob f1 f2 f3

    .type fd

    .p 9-00 100101 11001- 100110 -10001 0--010 0-0100 001011 10100- 00-.e

    espresso mi_fich

    -Dexact: minimizacin exacta conjunta.-Dopo: minimizacin conjunta pero elige F F para cada funcin.-Dso: minimizacin de cada salida por separado.-Dso_both: minimizacin de cada salida por separado, elige F F.

    nombre de cada salida

    nmero de salidasnombre de cada entrada

    nmero de entradas

    nmero de cubos

    Descripcin por cubos: 01- 100Para cada entrada:0 Literal complementado1 Literal sin complementar- No depende de la entradaPara cada salida activada por .type:1 El cubo pertenece al ON-set0 El cubo pertenece al OFF-set- El cubo pertenece al DC-set

    fin de cubos

    .i 3

    .o 3

    .ilb a b c

    .ob f1 f2 f3

    .phase 111

    .p 4101 110011 101-10 110-00 101.e

    Indica el tipo de cubosactivos f (ON-SET, 1s),d (DC-SET), r (OFF-SET, 0s)Por defecto fd. No se leenlos valores no activos(0s, por defecto)

    mi_fich

    Indica las salidas en las quese obtiene F (1) y en las quese obtiene F (0).

    Descripcin por cubos: 01- 100Para cada entrada como en elfichero de entradaPara cada salida:1 El cubo pertenece a la salida0 El cubo no pertenece a la salida

  • Sntesis multinivel En sntesis multinivel no se aplica el trmino minimizacin ya que no

    existe ningn mtodo que garantice unas funciones lgicas mnimas.Se realizan una operaciones que mejoran de alguna manera el costefinal de las expresiones, en principio reduciendo el nmero deliterales del conjunto de las expresiones.

    La sntesis multinivel suele comenzar con una minimizacin en dosniveles. Al resultado de la minimizacin se le aplican operacionestpicas de sntesis multinivel y algoritmos complejos para llevarlas acabo. Entre estas operaciones :- Factorizacin: pasar de dos niveles a forma factorizada.- Descomposicin: reemplazar una expresin lgica por un conjuntode expresiones lgicas.- Substitucin: expresar una funcin en trminos de otra funcin.- Colapsado: elimina en una funcin la dependencia de otrasfunciones.- Extraccin: identifica trminos comunes en varias expresiones.

  • Factorizacin Una operacin tpica de la sntesis multinivel es la

    factorizacin: el paso de una expresin en dos niveles auna expresin factorizada.

    Esta operacin es un punto de partida importante de lasntesis multinivel y es interesante encontrar una buena(si no la mnima) factorizacin. Un algoritmo recursivosencillo (no ptimo) para conseguir una factorizacindada una expresin lgica F sigue este procedimiento:- Localizar el literal X que ms veces aparece en laexpresin en dos niveles F y generar dossubexpresiones F1 y F2 de forma que F = X F1 + F2.Repetir recursivamente el procedimiento para F1 y paraF2, hasta que en las subexpresiones generadas en cadapaso no aparezca ningn literal ms de 1 vez.

  • F = A B D + A D E + A B C E + A B D E + A B D E + B C EFactorizacin

    A, B y E aparecen 3 veces. Elegimos A (habra que probar todos)

    F = A (B C E + B D E + B D E) + A B D + A D E + B C EB aparece 3 veces A y B aparecen 2 veces.

    Elegimos A

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

    F1a F2a

    F1b F1c F2c

    E aparece 2 veces No se repiten literales: Fin

    F = A (B (E ( C + D ) + D E) ) + A (B D + D E) + B C ENo se repiten literales: Fin

    F1d F2d

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

  • Sntesis multinivel Descomposicin: reemplazar una expresin lgica por un conjunto

    de expresiones lgicas:

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

    F = X Y + X Y X = A B Y = C + D Substitucin: reemplazar una expresin lgica por un conjunto de

    expresiones lgicas.

    F = A + BC y G = A + B => F = G (A + C) Colapsado: elimina en una funcin la dependencia en otras

    funciones.

    F = G (A + C) y G = A + B => F = A + BC

  • Extraccin Identifica trminos comunes en varias expresiones

    lgicas. Exige encontrar los factores de las expresiones. Se basa en las operaciones de divisin algebraica (o

    booleana ms compleja) que reexpresa una expresinlgica en trminos de divisores (cokernels) y decocientes (kernels)

    F1 = ABC (1) + ACG (2) + BDF (3) + CDE (4)F2 = ABD (5) + BCE (6) + BDE (7) + BG (8) + CEG (9)

    Funcin Co-kernel KernelF1 A BC + CGF1 C AB + DEF1 D BF + CEF2 B AD + CEF2 B DE + GF2 E BC + CG

    F1 = AX + DYF2 = EX + BZ + ABDX = BC + CGY = BF + CEZ = DE + G

  • BC CG AB DE BF CE AD CE G

    Extraccin La extraccin se obtiene tomando el menor nmero de

    rectngulos (filas-columnas aunque no seanconsecutivas) en una tabla entre los co-kernels y loscubos de los kernels, que cubran a todos los trminos delas funciones.

    1 2 0 0 0 0 0 0 00 0 1 4 0 0 0 0 00 0 0 0 3 4 0 0 00 0 0 0 0 0 5 0 00 0 0 7 0 0 0 0 86 9 0 0 0 0 0 0 0

    F1 = ABC (1) + ACG (2) + BDF (3) + CDE (4)F2 = ABD (5) + BCE (6) + BDE (7) + BG (8) + CEG (9)

    F1 AF1 CF1 DF2 BF2 BF2 E

    F1 = AX + DYF2 = EX + BZ + ABDX = BC + CGY = BF + CEZ = DE + G