Logica de Circuitos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 53

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 3


y 4 variables. K-cubos. Definicin de una funcin
mnima en dos niveles. Mapas de Karnaugh de 5 y 6
variables.
Implicantes primos. Implicantes primos esenciales.
Minimizacin en dos niveles mediante el mapa de
Karnaugh en problemas lgicos completa e
incompletamente especificados. Minimizacin
multifuncin.
Minimizacin algortmica en dos niveles (una y varias
salidas) y multinivel.
Minimizacin en dos niveles de una funcin lgica.
Encontrar una forma SOP o POS mnima.
Extensin a problemas de varias funciones
Objetivo bsico: encontrar formas lgicas con el menor
nmero de trminos productos (sumas) y el menor
nmero de literales por trmino producto (suma).
F(A, B, C, D) = A C D + A C D + B C D + B C D
A B C D

U1A

L1
U1B
U3A U4A
U1C
F

U2A
Sntesis multinivel. Realizar una serie de operaciones
sobre funciones lgicas que encuentren una buena
forma factorizada (varios niveles AND/OR/AND/OR).
Objetivo bsico: reducir el nmero de literales de la
expresin lgica.
F(A, B, C, D) = A [ B C + D (C + B) ] + A D
A B C D

U6B
L2
U6D
U7B U7A

U6C
U7C

U6A
Minimizacin en dos niveles
El paso de funciones cannicas a funciones estndar
mediante lgebra de conmutacin no garantiza
encontrar una solucin mnima si no se usa un mtodo
algortmico.
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 ver
relaciones de simplificacin ocultas. A veces sera
necesario 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 la
relaciones de adyacencia entre los 1s 0s de la
tabla. Cada grupo de 1, 2, 4, 8, 16, , 1s (0s) de la
tabla que formen un cuadrado o un rectngulo en el
Mapa son un cubo (o implicante) de la funcin y
corresponden a un trmino producto (trmino suma).
Cada casilla est marcada en CD
notacin decimal. AB 00 01 11 10
00 0 1 3 2

B 01 4 5 7 6
A 0 1 BC 00 01 11 10
A
0 0 1 0 0 1 3 2 11 12 13 15 14

1 2 3 1 4 5 7 6 10 8 9 11 10
Los valores en los entradas de los Mapas de Karnaugh
se sitan de forma que entre cada casilla adyacente del
Mapa de Karnaugh (izquierda, derecha, arriba, abajo)
haya distancia de Hamming 1. Hay que considerar que
los bordes estn unidos y que hay adyacencia entre las
filas de abajo y arriba, y las columnas derecha e
izquierda.
Cada casilla es adyacente a tantas casillas como
entradas haya en la funcin.
Los cubos o agrupaciones de 1s 0s de la funcin son
de 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 N
entradas es N-k.
Siguiendo la notacin de las formas cannicas, al agrupar los 1s de
se forman trminos productos:
Si X est siempre a 1 => literal X; si X est siempre a 0 => literal X
Si X toma valores 0 y 1 => no se utiliza X
B B B B
A 0 1 A 0 1 A 0 1 A 0 1
0 0 1 0 0 1 0 0 1 0 1 1

1 2 3 1 0 0 1 0 1 1 0 0

AB B 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 X
Si X toma valores 0 y 1 => no se utiliza X
B B B
A 0 1 A 0 1 A 0 1
0 1 0 0 1 0 0 0 0

1 1 1 1 1 0 1 1 1

A+ B B A
En Mapas de 3 4 entradas los bordes estn unidos y se pueden
formar cubos entre las filas de abajo y arriba, y las columnas
derecha e izquierda
BC 00 01 11 10
A
0 0 1 3 2
1 4 5 7 6

BC 00 01 11 10 BC 00 01 11 10 BC 00 01 11 10
A A A
0 0 0 0 0 0 0 1 1 0 0 1 1 1 1
1 1 0 0 1 1 0 1 1 0 1 0 0 0 0

AC C A
BC 00 01 11 10 BC 00 01 11 10 BC 00 01 11 10
A A A
0 1 1 1 1 0 1 0 0 1 0 0 0 0 0
1 0 1 1 0 1 1 0 0 1 1 1 1 1 1

A +C C A
Mapas de Karnaugh de 4 variables F(A,B,C,D)
BC
B+C CD
CD CD
AB 00 01 11 10 C+D
AB 00 01 11 10
BD
00 0 1 3 2
00 1 0 0 1
6 BD
01 4 5 7 01 0 0 1 0
B+D BCD
11 12 13 15 14 0 0 1 1
11
AC
10 8 9 11 10 1 0 1 1
10
ABD
CD A+B+D
AB 00 01 11 10 CD
AB 00 01 11 10
00 0 0 0 0
00 1 1 0 1
01 1 1 1 1
B 01 1 0 0 1
11 1 1 1 1 1
11 1 0 0
10 1 1 0 0
10 1 1 0 1

AC D
BC
Mapas de Karnaugh de 5 variables F(A,B,C,D,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
DE DE
BC 00 01 11 10 BC 00 01 11 10
00 0 1 3 2 00 16 17 19 18

01 4 5 7 6 01 20 21 23 22

11 12 13 15 14 11 28 29 31 30
BE
10 8 9 11 10 B+E 10 24 25 27 26

A=0 A=1
ADE ABD
A+D+E A+B+D
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 mapas
La expresin lgica no depende de A.
Mapas de Karnaugh de 6 variables F(A,B,C,D,E,F): 4 mapas de 4
variables controlados por dos variables externas

EF EF
CD 00 01 11 10 CD 00 01 11 10
00 0 1 3 2 AEF 00 16 17 19 18
A+E+F
01 4 5 7 6 01 20 21 23 22

11 12 13 15 14 11 28 29 31 30

B E F 10 8 9 11 10 10 24 25 27 26
B+E+F
AB = 00 AB = 01 CDEF
EF EF
CD 00 01 11 10 CD 00 01 11 10 C+D+E+F
00 32 33 35 34 00 48 49 51 50
ABCE
01 36 37 39 38 A+B+C+E 01 52 53 55 54

11 44 45 47 46 11 60 61 63 62

10 40 41 43 42 10 56 57 59 58

AB = 10 AB = 11
Minimizacin mediante el Mapa de Karnaugh

Objetivo: generar una expresin mnima en dos niveles


para una funcin lgica.

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

1. No existe ninguna otra expresin equivalente que


incluya menos trminos productos (sumas) => utilizar el
menor nmero de cubos en un mapa de Karnaugh.

2. No hay otra expresin equivalente que conste del


mismo nmero de trminos productos (sumas) y que
tenga un menor nmero de literales => utilizar los cubos
de mayor tamao en un mapa de Karnaugh.
Minimizacin mediante el Mapa de Karnaugh

Implicante primo de una funcin F es un cubo de F que


no est incluido en ningn cubo de mayor orden. El uso
de implicantes primos en lugar de cubos garantiza que
se cumple la condicin 2.

Un proceso de minimizacin en dos niveles incluye estos


dos procesos:

1. Determinacin de todos los implicantes primos (no es


absolutamente necesario encontrar todos).

2. Seleccin del menor nmero de implicantes primos


que cubre al menos una vez a todos los 1s ( 0s) de la
funcin F. Si hay varias posibilidades tomar los que sean
cubos de mayor orden.
Minimizacin mediante el Mapa de Karnaugh

Implicante primo esencial: nico implicante primo P que


cubre a un minterm (o maxterm) determinado de la
funcin.
Por ello, la expresin de F en forma SOP (POS) debe
incluir obligatoriamente a P como trmino producto
(suma).

1 regla para minimizacin: Localizar las casillas


cubiertas por un nico implicante primo P. P es esencial,
forma parte de la funcin mnima, y todas las casillas de
P quedan cubiertas, por lo que no hay que preocuparse
ms de ellas.
Minimizacin mediante el Mapa de Karnaugh

2. Cuando una casilla puede ser cubierta por varios


implicantes primos, escoger un implicante primo de
orden k mximo entre ellos, que cubra las mismas
casillas que quedan sin cubrir (y si se puede alguna
ms), que todos los otros implicantes. Si hay dos
implicantes del mismo tamao que cumplan esta
condicin da igual escoger uno u otro.

3 regla para minimizacin: Buscar la casilla cubierta por


menos implicantes primos y probar con cada uno de
ellos aplicando de nuevo las tres reglas. Quedarse con
la solucin ms pequea generada.
Minimizacin mediante el Mapa de Karnaugh

Funciones incompletamente especificadas

Generacin de implicantes primos: utilizar los "don't


care" como si fuesen 1's en la forma SOP y como si
fuesen 0's en la forma POS para encontrar implicantes
primos.

Seleccin de implicantes primos: cubrir todos los 1s


(SOP) o los 0s (POS) de la funcin. No hace falta cubrir
los "don't care".
Minimizacin de
F(x,y,z) = x z + x y z + x z + x y z
4 Cubos

yz yz
00 01 11 10 6 Implicantes x 00 01 11 10
x
0 1 1 1 primos 0 0 1 1 1
0
1 1 0 1 1 1 1 0 1
1

Regla 3. Dos
soluciones
mnimas
yz yz
x 00 01 11 10 00 01 11 10
x
0 0 1 1 1 0 1 1 1
0
1 1 1 0 1 1 1 1 0 1

F(x,y,z) = x y + x z + y z F(x,y,z) = x z + y z + x y
yz
x 00 01 11 10
0 0 1 1 1
Cubo (4, 5) Cubo (4, 6)
1 1 1 0 1
yz yz
x 00 01 11 10 x 00 01 11 10
0 0 1 1 1 Regla 3. Dos 0 1 1 1
0
soluciones. Escoger
1 X X 0 1 la mnima. 1 X 1 0 X
Casilla 4

Regla 2. Para (1) mejor Regla 2. Para (5) mejor


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

yz 00 01 11 10 yz 00 01 11 10 yz
x x 00 01 11 10
0 1 3 2 x
0 0 X X X 0 0 X X X
0
X X 0 X 1 4 5 7 6
1 1 X X 0 X

F(x,y,z) = x y + x z + y z F(x,y,z) = x z + y z + x y
Minimizacin mediante el Mapa de Karnaugh
Resolucin de un problema lgico:
A la vez si
es posible

- 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.
Minimizacin mediante el Mapa de Karnaugh
Encontrar la forma mnima SOP que define en la salida F
si un nmero A de tres bits (A2, A1, A0) est dentro de
unas especificaciones determinadas. Hay varias
especificaciones, por lo que se dispone de dos entradas
de control S1 y S0, que determinan la especificacin que
se est comprobando. De esta forma, si S1S0 son:

- 00: F es verdadera si A toma valor entre [0, 2], [4], y


falsa en cualquier otro caso.
- 01: F es verdadera si A toma valor entre [1, 3] [6, 7], y
falsa si toma el valor entre [4, 5].
- 10: F es verdadera si A es una potencia de 2, y falsa si
es mltiplo de 3 (0 no es potencia ni mltiplo).
- 11: En este caso se sabe que A no puede ser potencia
de 2, y que F es verdadera si el nmero es impar, y falsa
en el resto de los casos.
Minimizacin mediante el Mapa de Karnaugh
Obtencin de la tabla de verdad a partir de las
especificaciones en funcin del valor de A para cada
valor de S1S0:
- 00: F es 1 si A es 0, 1, 2 4
F 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)
Minimizacin mediante el Mapa de Karnaugh
Mapa de Karnaugh de 5 variables F(A2,A1,A0,S1,S0)
S1S0 S1S0
A1A0 00 01 11 10 A1A0 00 01 11 10
A=0 00 1 0 A=4 00 1 0 1
*
A=1 01 1 1 1 A=5 01 0 0 1

A=3 11 0 1 1 0 A=7 11 0 1 1

A=2 10 1 1 1 A=6 10 0 1 0 0
*
A2 = 0 A2 = 1

* Casillas que producen implicantes primos esenciales

F = A1 S1 S0 + A1 A0 S0 + ..
Minimizacin mediante el Mapa de Karnaugh
Mapa de Karnaugh de 5 variables F(A2,A1,A0,S1,S0)
S1S0 S1S0
A1A0 00 01 11 10 A1A0 00 01 11 10
A=0 00 X 0 A=4 00 X 0 X

A=1 01 1 1 1 A=5 01 0 0 1

A=3 11 0 X 1 0 A=7 11 0 X 1*

A=2 10 1 X 1 A=6 10 0 X 0 0

A2 = 0 A2 = 1

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 + ..
Minimizacin mediante el Mapa de Karnaugh
Mapa de Karnaugh de 5 variables F(A2,A1,A0,S1,S0)
S1S0 S1S0
A1A0 00 01 11 10 A1A0 00 01 11 10
A=0 00 X 0 A=4 00 X 0 X

A=1 01 1 1* 1 A=5 01 0 0 X

A=3 11 0 X X 0 A=7 11 0 X X

A=2 10 1 X 1 A=6 10 0 X 0 0

A2 = 0 A2 = 1

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 (las


otras opciones no cubren nada ms o slo a 4)

F = A1 S1 S0 + A1 A0 S0 + A0 S1 S0 + A2 A1 A0 + ..
Minimizacin mediante el Mapa de Karnaugh
Mapa de Karnaugh de 5 variables F(A2,A1,A0,S1,S0)
S1S0 S1S0
A1A0 00 01 11 10 A1A0 00 01 11 10
A=0 00 X 0 A=4 00 X 0 X

A=1 01 X X X A=5 01 0 0 X

A=3 11 0 X X 0 A=7 11 0 X X

A=2 10 1 X 1 A=6 10 0 X 0 0

A2 = 0 A2 = 1
Se cubren los 1s restantes con el menor nmero posible de
implicantes 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
+ 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 mediante el Mapa de Karnaugh
Minimizacin de varias funciones lgicas
F1(A, B, C) = (2, 3, 6)
Minimizacin por separado
F2(A, B, C) = (3, 5, 7)
BC 00 01 11 10
A A B C
0 0 0 1 1
1 0 0 0 1

F1 = A B + B C F1

BC 00 01 11 10
A
0 0 0 1 0
F2
1 0 1 1 0

F2 = A C + B C
Minimizacin mediante el Mapa de Karnaugh

Minimizacin de varias funciones lgicas


F1(A, B, C) = (2, 3, 6) Minimizacin conjunta. El circuito se reduce.
F2(A, B, C) = (3, 6, 7) Hay que reducir el nmero de implicantes de
todas las funciones a la vez.
BC 00 01 11 10
A A B C
0 0 0 1 1
1 0 0 0 1

F1 = A B C + B C
F1
BC 00 01 11 10
A
0 0 0 1 0
F2
1 0 1 1 0

F2 = A B C + A C
Minimizacin mediante el Mapa de Karnaugh
Minimizacin de varias funciones lgicas
F1(A, B, C) = (2, 3, 6) Hay que encontrar los implicantes primos de
F2(A, B, C) = (3, 6, 7) las intersecciones entre todas las
combinaciones de funciones.
BC 00 01 11 10 BC 00 01 11 10 BC 00 01 11 10
A A A
0 0 0 1 1 0 0 0 1 0 0 0 0 1 0
1 0 0 0 1 1 0 1 1 0 1 0 0 0 0

F1 F2 F1,F2
Se obtienen los implicantes primos esenciales:
6 F1 => (2, 6) F1; 5 F2 => (5, 7) F2
BC 00 01 11 10 BC 00 01 11 10
A A
0 0 0 1 X 0 0 0 1 0
F1 F2
1 0 0 0 X 1 0 X X 0

Se cubre el resto con el menor nmero de


implicantes primos: 3 F1, 3 F2 => 3 F1,F2
Mtodos algortmicos para sntesis lgica
Cuando se plantean problemas lgicos muy
complejos no slo la minimizacin sino casi la
resolucin a mano se hace inviable. Se requieren
herramientas de ayuda al diseo (CAD) que generen
automticamente los resultados de sntesis de las
funciones lgicas.
Existen algoritmos aplicados a la sntesis de
funciones en dos niveles de una y varias salidas, y a
la sntesis multinivel, la mayora de ellos demasiado
complejos para ser explicados en un tiempo
razonable.
Mtodo Quine-McCluskey
Algoritmo de minimizacin en dos niveles. Las variantes
de este algoritmo tiene un lmite de entradas y/o salidas
para encontrar la solucin en un tiempo de cmputo
razonable.
Se divide en dos partes generacin de implicantes
primos y seleccin de implicantes primos. La descripcin
inicial corresponde a una funcin de N entradas y una
salida aunque puede adaptarse para varias salidas.

Generacin de implicantes primos: parte de los 0-cubos


(1s 0s), y - dont cares representados en binario y
ordenados por el nmero i de 1s en su codificacin
binaria G[0][i]. Dentro del procedimiento se van
generando k-cubos que se guardan en los G[k][i]. Los k-
cubos que no generan ningn (k+1)-cubo son implicantes
primos.
Generacin de implicantes primos
1. 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 nica
posicin P, y A es 0 y B es 1 , A es 1 y B es 0, se genera un
elemento C en el grupo G[k+1][i]. C es como A con el valor de la
posicin P fijado a . No se debe duplicar C si aparece varias
veces. A y B se marcan, para indicar que no son implicantes
primos.
3. Si i N-K-1, incrementar i, volver a 2; si no, incrementar k.
Si k < N y se ha generado algn elemento C en k-1, hacer i = 0 y
volver a 2; si no ir a 4.
4. Los elementos no marcados son implicantes primos. Para generar
trminos suma (producto), en cada entrada: valor 0 => entrada
complementada (sin complementar); valor 1 => entrada sin
complementar (complementada), valor => no depende de la
entrada. Fin del algoritmo.
F(A, B, C, D) = (1, 2, 3, 5, 11, 12, 15) + (6, 10, 13)

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)
Seleccin de implicantes primos
1. Formar una tabla de implicantes primos (filas) frente a 0-cubos: 1s
(SOP) 0s (POS). No usar los dont cares. Marcar los 0-cubos
cubiertos 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 vaca
generar la funcin: suma (producto) de los trminos producto
(suma) seleccionados en 3 y finalizar, si no ir a 6.
3. Buscar columnas con una nica marca. Incluir el implicante primo
correspondiente en la funcin y eliminar de la tabla las columnas
cubiertas por el implicante.
4. Si la fila A incluye a la fila B (mismas marcas en A que en B y
alguna ms en A) y el coste de A es menor o igual que el coste de
B, 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 de menor coste:
- 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.
Seleccin de implicantes primos
Criterios de coste. El coste de una funcin es la suma del coste de
cada implicante seleccionado para la funcin. El objetivo de la
minimizacin sera encontrar la funcin de menor coste.
Ejemplos de criterios de coste:
a) Menor nmero de implicantes. Todos los implicantes tienen coste
1. Tpico de circuitos programables (PLA, PAL).
b) Menor nmero de implicantes y menor nmero de literales. Los
implicantes tienen como coste el nmero de literales del trmino
lgico equivalente. Este criterio de coste corresponde a la
minimizacin de una funcin lgica (primero el menor nmero de
implicantes, y segundo el menor nmero de literales).
c) Menor nmero de puertas lgicas (implicantes). Similar a a), pero
con la diferencia de que un implicante de un nico literal tiene
coste 0.
d) Menor nmero de puertas lgicas (implicantes) y de lneas
(literales). Similar a b), pero con la diferencia de que un
implicante de un nico literal tiene coste 0 en puertas y 1 en
lneas.
Criterio de Coste d. Nmero de puertas (Cg) y lneas (Cl) de cada
implicante

Columna 12 con
una marca. Incluir
(e). En la funcin
F=e+
Todas las columnas con
una marca. La funcin
F=e+b+f+h

(h) incluye a (c)


(b) incluye a (d)
(f) incluye a (g)
con menor coste o
igual. Se eliminan
(c), (d) y (g) (3) incluye a (2)
(1) incluye a (5)
(11) incluye a (15)
Se eliminan (3), (1) y (11)
F(A, B, C, D) = A B C + A C D + A C D + B C
Seleccin de implicantes primos
Resolucin de una tabla cclica: tabla no vaca sin columnas con una
nica marca, ni eliminacin de filas ni eliminacin de columnas.
Seleccionar un implicante IP de la tabla. Probar dos casos:
a) F1: El implicante IP pertenece a la funcin => aadir IP a la
funcin F1, incrementar su coste y eliminar las columnas
cubiertas por IP. Continuar con el algoritmo
b) F2: El implicante IP no pertenece a la funcin => eliminar la fila IP
de la tabla y continuar con el algoritmo.
F = F1 si Coste(F1) < Coste(F2); si no F = F2. Tabla Cclica.
A se incluye o no en F
0 1 2
2 AF AF 0 1 2
A C=1 B
B = C, B C=2 C=2
B C=2
C(B) < C(C) C C=3 C C=3
C C=3
Eliminar C, F1 = A + F2 = .

C(F1) = C(A)+C(B) = 3
2 0 1 2
C(F2) = C(B)+C(C) = 5
B C=2
B C=2 Mejor solucin F1
F = F1 = A + B C C=3
F1 = A + B
F2 = B + C
Mtodo Quine-McCluskey
El algoritmo puede adaptarse a minimizacin de varias
funciones.

Generacin de implicantes primos en minimizacin de


varias funciones:
- Se aade a cada k-cubo una etiqueta por cada funcin
que indica si pertenece (1) o no (0) a la funcin.
- Al formar un (k+1)-cubo C a partir de dos k-cubos A y
B, las etiquetas de C son el AND lgico de las etiquetas
de 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 las
etiquetas 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 a
minterms de cada funcin. Los implicantes primos slo
cubren minterms en las funciones a las que pertenecen
F1 F2 F3
0 3 4 6 0 4 6 7 0 3 5 7
(0) F1,F2,F3
(3) F1,F3 Criterio de
(7) F2,F3 Coste a: nmero
(0,4) F1,F2 de implicantes.
(4,6) F1,F2 Todos los
(3,7) F3 implicantes
(5,7) F3
tienen coste 1
(6,7) F2
Mtodo Quine-McCluskey
2. Realizar los pasos 3, 4 y 5 mientras queden columnas
en la tabla se produzcan modificaciones en ella. Si la
tabla queda vaca generar las funciones y finalizar, si no
ir a 6.
3. Se buscan columnas con una marca por funcin. Al
incluir un implicante en una funcin se actualiza (se
reduce) su coste para el resto de las funciones.
4. Realizar eliminacin de filas en toda la tabla.
5. Realizar eliminacin de columnas entre las columnas
de una funcin.
6. Tabla cclica. Resolverla como en la seleccin de
implicante de una funcin: hacer dos pruebas incluyendo
un implicante en una funcin o eliminndola de ella, y
utilizar la solucin de menor coste final.
Mtodo Quine-McCluskey
F1 F2 F3
0 3 4 6 0 4 6 7 0 3 5 7
(0)
(3)
(7) F1 = (3) + (4,6) +
(0,4) F2 =
(4,6) F3 = (0) + (5,7) +
(3,7)
(5,7)
(6,7)

F1 F2 F3
0 0 4 6 7 3
(0) C=0
(3) C=0 Reduccin por filas:
(7) C=1 (6,7) incluye a (7)
(0,4) C=1 (3,7) igual a (3)
(4,6) C=0 con menor igual coste.
(3,7) C=1 Se eliminan (7) y (3,7)
(6,7) C=1
Mtodo Quine-McCluskey
F1 F2 F3 F1 F2 F3
0 0 4 6 7 3 0 0 4 7 3
(0) C=0 (0) C=0
(3) C=0 (3) C = 0 F1 = (3) + (4,6) +
(0,4) C=1 (0,4) C = 1 F2 = (6,7) +
(4,6) C=0 (4,6) C = 0 F3 = (0) + (5,7) + (3)
(6,7) C=1 C=1
(6,7)
6F2 incluye a 7F2
Se elimina 6F2
F1 F2
(0) es igual a (0,4) F1 (0, 4) F2 0 0 4
0 Tabla Cclica.
Se elimina (0,4) (0) C=0
(0) C=0 Prueba con (0,4):
Se cubre 0F1 con (0) (0,4) C=1
(0,4) C=0 se incluye o no
F1 = (3) + (4,6) + (0) (4,6) C=0 en F2
F2 = (6,7) + (0,4)
F3 = (0) + (5,7) + (3) (0, 4) F2
Coste: 6 Implicantes F1 F2
0 0 4 (0,4) se incluye en (0)
F1 = (3) + (4,6) + (0) Se elimina (0,4)
(0) C=0
F2 = (6,7) + (0) + (4,6) Se cubre 0F1 y 0F2 con
(0,4) C=1
F3 = (0) + (5,7) + (3) (0), y 4F2 con (4,6)
(4,6) C=0
Coste: 5 Implicantes
Mejor solucin
Espresso
Algoritmo estndar de minimizacin en dos niveles. Opera con
problemas de ms de 100 variables de entrada y/o salida de los que
no se conoce cul es la solucin ptima.
Utiliza un mtodo de aproximaciones sucesivas basado en tres
procedimientos.
1. Generacin de implicantes primos (Expand): se parte de un
conjunto de cubos que se expanden en determinadas variables para
configurar un subconjunto de todos los implicantes primos que
pueden cubrir las funciones.
2. Se selecciona un conjunto mnimo de implicantes primos del
conjunto anterior que cubra a todas las funciones (Irredundant
Cover). En las iteraciones que se realizan se comprueba que esta
solucin encontrada es mejor que la solucin anterior. Si no mejora
la solucin finalizar.
3. El conjunto anterior se rehace reduciendo algunos implicantes
primos 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 implicantes
primos esenciales.
Espresso
CD CD
Expand + AB 00 01 11 10 AB 00 01 11 10
Irredundant 00 1 1 0 0 00 1 1 0 0
Cover Reduce
01 1 1 1 1 01 1 1 1 1

11 0 0 1 1 11 0 0 1 1

10 1 1 1 1 10 1 1 1 1

Expand
CD CD
AB 00 01 11 10
Irredundant AB 00 01 11 10
00 1 1 0 0 Cover 00 1 1 0 0
01 1 1 1 1 01 1 1 1 1
11 0 0 1 1 0 0 1 1
11
10 1 1 1 1 1 1 1 1
10
nmero de entradas
nmero de salidas
.i 3
mi_fich .o 3
nombre de cada entrada
.ilb a b c nombre de cada salida
.ob f1 f2 f3
.type fd Indica el tipo de cubos
Descripcin por cubos: 01- 100 .p 9 activos f (ON-SET, 1s),
Para cada entrada: -00 100 d (DC-SET), r (OFF-SET, 0s)
0 Literal complementado 101 110 Por defecto fd. No se leen
1 Literal sin complementar 01- 100 los valores no activos
- No depende de la entrada 110 -10 (0s, por defecto)
Para cada salida activada por .type: 001 0--
1 El cubo pertenece al ON-set 010 0-0
nmero de cubos
0 El cubo pertenece al OFF-set 100 001
- El cubo pertenece al DC-set 011 101
00- 00-
fin de cubos
.e

.i 3
espresso mi_fich .o 3 Indica las salidas en las que
.ilb a b c se obtiene F (1) y en las que
.ob f1 f2 f3 se obtiene F (0).
-Dexact: minimizacin exacta conjunta.
.phase 111
-Dopo: minimizacin conjunta pero elige F F
.p 4
para cada funcin. Descripcin por cubos: 01- 100
101 110
-Dso: minimizacin de cada salida por separado. Para cada entrada como en el
011 101
-Dso_both: minimizacin de cada salida por fichero de entrada
-10 110
separado, elige F F. Para cada salida:
-00 101
1 El cubo pertenece a la salida
.e
0 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 coste
final de las expresiones, en principio reduciendo el nmero de
literales del conjunto de las expresiones.
La sntesis multinivel suele comenzar con una minimizacin en dos
niveles. Al resultado de la minimizacin se le aplican operaciones
tpicas de sntesis multinivel y algoritmos complejos para llevarlas a
cabo. Entre estas operaciones :
- Factorizacin: pasar de dos niveles a forma factorizada.
- Descomposicin: reemplazar una expresin lgica por un conjunto
de expresiones lgicas.
- Substitucin: expresar una funcin en trminos de otra funcin.
- Colapsado: elimina en una funcin la dependencia de otras
funciones.
- 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 a
una expresin factorizada.
Esta operacin es un punto de partida importante de la
sntesis multinivel y es interesante encontrar una buena
(si no la mnima) factorizacin. Un algoritmo recursivo
sencillo (no ptimo) para conseguir una factorizacin
dada una expresin lgica F sigue este procedimiento:
- Localizar el literal X que ms veces aparece en la
expresin en dos niveles F y generar dos
subexpresiones F1 y F2 de forma que F = X F1 + F2.
Repetir recursivamente el procedimiento para F1 y para
F2, hasta que en las subexpresiones generadas en cada
paso no aparezca ningn literal ms de 1 vez.
Factorizacin
F=ABD+ADE+ABCE+ABDE+ABDE+BCE
A, B y E aparecen 3 veces. Elegimos A (habra que probar todos)
F1a F2a

F = A (B C E + B D E + B D E) + A B D + A D E + B C E
B aparece 3 veces A y B aparecen 2 veces.
Elegimos A
F1b F1c F2c

F = A (B (C E + D E + D E) ) + A (B D + D E) + B C E
E aparece 2 veces No se repiten literales: Fin
F1d F2d

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

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=ABC+ABD+ACD+BCD=
= A B ( C + D ) + (A + B) C D
F=XY+XY X=AB 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 expresin
lgica en trminos de divisores (cokernels) y de
cocientes (kernels)
F1 = ABC (1) + ACG (2) + BDF (3) + CDE (4)
F2 = ABD (5) + BCE (6) + BDE (7) + BG (8) + CEG (9)

Funcin Co-kernel Kernel


F1 A BC + CG F1 = AX + DY
F1 C AB + DE F2 = EX + BZ + ABD
F1 D BF + CE X = BC + CG
F2 B AD + CE Y = BF + CE
F2 B DE + G Z = DE + G
F2 E BC + CG
Extraccin
La extraccin se obtiene tomando el menor nmero de
rectngulos (filas-columnas aunque no sean
consecutivas) en una tabla entre los co-kernels y los
cubos de los kernels, que cubran a todos los trminos de
las funciones.
F1 = ABC (1) + ACG (2) + BDF (3) + CDE (4)
F2 = ABD (5) + BCE (6) + BDE (7) + BG (8) + CEG (9)

BC CG AB DE BF CE AD CE G
F1 A 1 2 0 0 0 0 0 0 0
F1 C 0 0 1 4 0 0 0 0 0 F1 = AX + DY
F2 = EX + BZ + ABD
F1 D 0 0 0 0 3 4 0 0 0
X = BC + CG
F2 B 0 0 0 0 0 0 5 0 0 Y = BF + CE
F2 B 0 0 0 7 0 0 0 0 8 Z = DE + G
F2 E 6 9 0 0 0 0 0 0 0

También podría gustarte