Professional Documents
Culture Documents
Funciones Lgicas
Algebra de Conmutacin.
Minimizacin de funciones Lgicas. Introduccin al VHDL.
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 (sumas). F(A, B, C, D) = A C D + A C D + B C D + B C D
A B C D
U1A
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
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 de la funcin y corresponden a un trmino producto (trmino suma). CD Cada casilla est marcada en AB 00 01 11 10 notacin decimal. 1 3 2 00 0
B A 0 1 0 0 2 1 1 3 BC 00 01 11 10 A 0 0 1 3 2 1 4 5 7 6 01 11 10 4 12 8 5 13 9 7 15 11 6 14 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) tengan 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 tomar 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 A 0 1 0 0 0 1 1 0 B A 0 1 0 0 0 1 1 1 B A 0 1 0 1 0 1 1 0
AB
Siguiendo la notacin de las formas cannicas, al tomar 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 A 0 1 0 1 1 1 0 1 B A 0 1 0 1 1 1 0 0 B A 0 1 0 0 1 1 0 1
A+ B
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 0 0 0 1 1 0 0 1 BC 00 01 11 10 A 0 0 1 1 0 1 0 1 1 0 BC 00 01 11 10 A 0 1 1 1 1 1 0 0 0 0
AC
C
BC 00 01 11 10 A 0 1 0 0 1 1 1 0 0 1
BC 00 01 11 10 A 0 1 1 1 1 1 0 1 1 0
BC 00 01 11 10 A 0 0 0 0 0 1 0 0 0 0
A +C
BC CD AB 00 00 0 01 11 10 1 1 0 01 0 0 0 1 11 1 1 1 1 10 0 1 1 0 ABD CD AB 00 00 0 01 11 10 1 1 1 01 0 1 1 1 11 0 1 1 1 10 0 1 1 0 AC B CD AB 00 00 1 01 11 10 BC 1 1 1 01 1 0 0 1 11 0 0 1 1 10 1 1 1 1 D BD CD CD AB 00 00 1 01 11 10 0 0 1 01 0 0 0 0 11 0 1 1 1 10 1 0 1 AC 1 BCD BD
Minimizacin de F(x,y,z) = x z + x y z + x z + x y z
4 Cubos yz x 0 1 6 Implicantes primos yz x 0 1 00 01 11 10 0 1 1 1 1 0 1 1
00 01 11 10 0 1 1 1 1 0 1 1
yz x 0 1
yz
00 01 11 10 0 1 1 1 1 0 1 1
F(x,y,z) = x y + x z + y z
F(x,y,z) = x z + y z + x y
yz x Cubo (4, 5) yz x 0 1 00 01 11 10 0 X 1 X 1 0 1 1 0 1
00 01 11 10 0 1 1 1 1 0 1 1 x 0 1 Cubo (4, 6) yz 00 01 11 10 0 X 1 1 1 0 1 X
Regla 2. Para (1) mejor (1, 3) que (1, 5). Para 6 mejor (2, 6) que (4, 6) 00 01 11 10 0 1 0 X X X X 0 X X
Regla 2. Para (5) mejor (1, 5) que (4, 5). Para 2 mejor (2, 3) que (2, 6) yz x 0 1
00 01 11 10 0 X X X X 0 X X
F(x,y,z) = x y + x z + y z
F(x,y,z) = x z + y z + x y
Tres tipos de implicantes primos: - Slo en el Mapa A = 0, - Slo en el Mapa A = 1 - En los dos Mapas. La expresin lgica no depende de A.
AB = 00 01 33 37 45 41 11 35 39 47 43 10 34 38 46 42 ABCE
EF CD 00 00 48 01 11 10 52 60 56
AB = 01 01 49 53 61 57 11 51 55 63 59
AB = 10
AB = 11
F1 = A B + B C
BC 00 01 11 10 A 0 0 0 1 0 1 0 1 1 0
F2
F2 = A C + B C
Minimizacin conjunta. El circuito se reduce. Hay que reducir el nmero de implicantes de todas las funciones a la vez.
A B C
F1 = A B C + B C
F1
BC 00 01 11 10 A 0 0 0 1 0 1 0 1 1 0
F2
F2 = A B C + A C
Mtodo Quine-McCluskey
Algoritmo de minimizacin en dos niveles. Las variantes de este algoritmo tiene un lmite de unas 20 entradas y/o salidas para un tiempo de cmputo razonable. Se divide en dos partes generacin de implicantes primos y seleccin de implicantes primos. La descripcin corresponde a una funcin de N entradas y una salida aunque puede adaptarse para varias salidas. Generacin de implicantes primos: se parte de los 0cubos (1s 0s, y dont cares) representados en binario y ordenados por el nmero i de 1s en su codificacin binaria G0[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.
3.
4.
B C (h)
2.
3. 4. 5. 6.
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. Se eliminan (c), (d) y (g)
(3) incluye a (2) (1) incluye a (5) (11) incluye a (15) Se eliminan (3), (1) y (13)
F(A, B, C, D) = A B C + A C D + A C D + B C
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: 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. En las iteraciones que se realizan se comprueba que esta solucin encontrada es mejor que la solucin anterior. Si no lo es finalizar. 3. El conjunto anterior se rehace reduciendo algunos implicantes primos a cubos en las zonas cubiertas por ms de 1 implicante. Se vuelve al paso 1. Incluye adems procedimientos extra como el clculo de implicantes primos esenciales.
mi_fich
Descripcin por cubos: 01- 100 Para cada entrada: 0 Literal complementado 1 Literal sin complementar - No depende de la entrada Para cada salida activada por .type: 1 El cubo pertenece al ON-set 0 El cubo pertenece al OFF-set - El cubo pertenece al DC-set
.i 3 nombre de cada entrada .o 3 nombre de cada salida .ilb a b c .ob f1 f2 f3 .type fd Indica el tipo de cubos .p 9 activos f (ON-SET, 1s), -00 100 d (DC-SET), r (OFF-SET, 0s) 101 110 Por defecto fd. No se leen 01- 100 los valores no activos 110 -10 (0s, por defecto) 001 0-010 0-0 nmero de cubos 100 001 011 101 00- 00fin de cubos .e .i 3 .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). .phase 111 .p 4 Descripcin por cubos: 01- 100 101 110 Para cada entrada como en el 011 101 fichero de entrada -10 110 Para cada salida: -00 101 1 El cubo pertenece a la salida .e 0 El cubo no pertenece a la salida
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.
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: la operacin contraria a la substitucin - 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. Dada una expresin lgica F en dos niveles puede conseguirse una factorizacin aplicando recursivamente 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.
Extraccin
Identifica trminos comunes en varias expresiones lgicas. Es la operacin multinivel ms difcil de implementar ya que 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 F1 A F1 C F1 D F2 B F2 B F2 E Kernel BC + CG AB + DE BF + CE AD + CE DE + G BC + CG
F1 = AX + DY F2 = EX + BZ + ABD X = BC + CG Y = BF + CE Z = DE + G