Sie sind auf Seite 1von 10

Minimizacin mediante el mapa de Karnaugh

Mario Medina C. mariomedina@udec.cl

Minimizacin lgica
Minimizacin lgica: conjunto de tcnicas para obtener la representacin ms simple de una expresin booleana Mtodos de minimizacin
Diversos criterios de minimizacin Mapas de Karnaugh-Veitch Mtodo de Quine-McCluskey Mtodo de Espresso

2010 Mario Medina

Criterios de minimizacin
Minimizar
Tamao de un circuito Consumo de potencia Disipacin de potencia Costo Errores de operacin Nmero de compuertas Tipo de compuertas Complejidad de compuertas lgicas Nmero de niveles de compuertas en cascada

Ejemplo
Sea Z (A,B,C) definida en la siguiente tabla de verdad y sus formas equivalentes Z1, Z2, Z3
Z = ABC + ABC + ABC + ABC Z1 = ABC + AC + BC Z2 = TC + TC; T = AB Z3 = (AB) C
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Z 0 1 0 1 0 1 1 0

Reducir
Nmero de conexiones entre puertas Retardo global de un circuito Nmero de literales

Maximizar
Reutilizacin de bloques

Otros

Ejemplo
Z: Estructura tpica SoP de 2 niveles Z1: Estructuralmente similar a Z (SoP)
No normalizados

Minimizacin lgica
No es posible minimizar todos los criterios al mismo tiempo Tcnicas tradicionales de minimizacin

Z2: Implementacin multinivel

Menos literales y puertas

Se encargan de minimizar el retardo del circuito resultante Minimizacin en 2 niveles


Suma-de-productos (SoP) Producto-de-sumas (PoS) A expensas de aumentar el nmero y complejidad de los productos sumas

Puertas ms simples (menor nmero de entradas) Mayor retardo de salida


Camino crtico AND-NOT-AND-OR

Z3: Reduce el nmero total de puertas

Usa una puerta XOR, que puede ser ms lenta

2010 Mario Medina C.

Motivacin para los mtodos de minimizacin lgica


Usar reglas del lgebra binaria para reducir expresiones booleanas
No hay algoritmos que aseguren llegar a una solucin mnima Problema puede ser ms complicado que el original
Proceso tedioso, largo y manual
Aumenta probabilidad de error

Base para los mtodos de simplificacin


Sean las funciones F y G definidas como La simplificacin nos lleva a
F = A, y G = B
A 0 0 1 1 B 0 1 0 1 F 0 0 1 1 A 0 0 1 1 B 0 1 0 1 G 1 0 1 0

F = AB+ AB, y G = AB + AB

Resultado depende de la intuicin y experiencia del diseador Multiplicar una expresin por 1 (X+X) y reducir

La variable que aparece en forma negada y no negada es redundante y se puede eliminar

Base para los mtodos de simplificacin


Mtodo bsico
Buscar repetidamente subconjuntos de 2 trminos que difieran slo en una variable Eliminar la redundancia Mtodos ordenan la tabla de verdad para reconocer fcilmente patrones a simplificar
Grficamente (Karnaugh) En forma tabular (Quine-McCluskey)

Mapa de Karnaugh
Representacin matricial de la tabla de verdad de una funcin
B 0 1 A 0
0 1

Proceso manual es engorroso

1
2 3

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

C 0 1

AB

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

Mapa de Karnaugh
El nmero al interior de cada celda
representacin decimal para la combinacin de entradas asociada

Correspondencia K-map y minitrminos (3 variables)

Cada celda es un minterm (o maxterm)


La celda almacena la salida asociada al minterm

Los ndices se forman mediante un cdigo adyacente (Gray)


2 celdas adyacentes tienen distancia 1 La ltima columna (fila) es adyacente con la primera columna (fila)

2010 Mario Medina C.

Correspondencia K-map y minitrminos (4 variables)

Mapa de Karnaugh

Mapa de Karnaugh
Expresar en un K-Map la funcin
F(A, B, C, D) = m(4, 5, 6, 7, 9, 10, 11, 13)
AB CD 00 01 11 10 00 01 11 10
0 0 0 0 1 1 1 1 0 1 0 0 0 1 1 1

Mapa de Karnaugh
Sea F(X, Y, Z, W) = XY + XWZ + XYZW
XY ZW AB ACD

00 01 11 10
0 0 1 0 0 1 1 0 1 1 1 1 0 0 0 0

ABC

00 01 11 10

Equivalente a la funcin

XYZW est expresado en forma cannica y genera slo un minterm XWZ genera 2 minterms YX genera 4 minterms En general, cada trmino no normalizado y faltndole n variables, generar 2n minit.

F(A, B, C, D) = AB + ABC + ACD

Celdas adyacentes
Adyacencia del mapa permite visualizar grupos de celdas contiguas a agrupar En un mapa de m variables, cada celda es lgicamente adyacente a otras m celdas
C 0 1 00 000 001 01 010 011 B 11 110 111 10 100 101

Celdas adyacentes en mapa de Karnaugh

Se considera adyacencia horizontal y vertical, pero no diagonal A AB

2010 Mario Medina C.

Representacin alternativa mapas de Karnaugh


Indicar slo filas y columnas donde variables valen 1

Mapa de 4 variables como diagrama de Venn


Un mapa de Karnaugh puede representarse tambin como un diagrama de Venn Diagrama de Venn para funcin de 4 variables
Crculo y ocho centrales se traslapan

Subcubos
Subcubo: un conjunto de 2r celdas de valor 1 o 0 (para minterms o maxterms, respectivamente), en el que cada celda es lgicamente adyacente a otras r celdas de valor 1 (o 0)

Ejemplo de simplificacin de funciones


AB CD 00 01 11 C 10 A 00 0 1 1 0 01 0 1 1 0 B 11 0 0 0 0 10 0 0 D 0 0

Usando lgebra booleana


F(A, B, C, D) = ABCD + ABCD + ABCD + ABCD F(A, B, C, D) = ACD + ACD F(A, B, C, D) = AD

El trmino producto (o suma) que se obtiene a partir de un subcubo de 2r celdas se compone de (n-r) literales.
Slo aparecen las variables que no cambian en todas las celdas

En el mapa, se puede ver la agrupacin ptima de celdas (minterms)

Ejemplo de simplificacin de funciones


Sea el siguiente mapa de Karnaugh
La agrupacin central es redundante
Celdas ya estn cubiertas por otros trminos
AB CD 00 01 11 C 10 A 00 0 0 0 0 01 0 0 1 0 B 11 0 1 1 0 10 0 1 D 0 0

Ejemplo de simplificacin de funciones


AB CD 00 01 11 C 10 A 00 1 0 1 1 01 0 1 1 1 B 11 0 0 1 1 10 1 0 D 1 1

Sea la funcin
F(A, B, C, D) = m(0, 2, 3, 5, 6, 7, 8, 10, 11, 14, 15)

La funcin equivalente es
F(A, B, C, D) = C + ABD + BD Se requiere encontrar el menor nmero de subcubos que cubran todas las salidas 1 ( 0)

Expresin mnima tiene slo 2 productos


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

2010 Mario Medina C.

Ejemplos de simplificacin

Ejemplos de simplificacin

Ejemplos de simplificacin

Definiciones
Implicante de una funcin: elemento o grupo de elementos que pueden combinarse en un mapa de Karnaugh y hacen 1 la funcin Implicante primario: implicante que no puede combinarse, o no puede ser cubierto por otro implicante de la funcin Implicante primario esencial: implicante primario que contiene celdas no cubiertas por ningn otro implicante primario.

Minimizacin de funciones usando el Mapa de Karnaugh


Objetivos de la minimizacin
Convertir todos los implicantes en implicantes primarios Cubrir todos los 1s (o 0s) utilizando el menor nmero posible de implicantes primarios Todos los implicantes primarios esenciales deben estar en el resultado final La minimizacin no es necesariamente nica

Implicantes primarios y esenciales


6 implicantes primarios
ABD, BC, AC, ACD, AB, BCD

2 implicantes esenciales
AC, BC

AB CD 00 01 11 C 10

A 00 0 1 1 0 01 1 1 0 0 B 11 1 1 1 1 10 0 0 D 1 1

Expresin mnima
BC + AC + ABD

2010 Mario Medina C.

Implicantes primarios y esenciales


4 implicantes primarios
BD, CD, AC, BC

Implicantes primarios y esenciales


5 implicantes primarios
ACD, ABC, ABC, ACD, BD
A 00 0 0 1 1 01 0 1 1 0 B 11 0 1 1 1 10 0 0 D 11 1 1

3 implicantes esenciales
BD, AC, BC

AB CD 00 01

4 implicantes esenciales
ACD, ABC, ABC, ACD

AB CD 00 01 11 C 10

A 00 0 1 0 0 01 0 1 1 1 B 11 1 1 1 0 10 0 0 D 1 0

Los implicantes esenciales bastan para cubrir el mapa Expresin mnima


BD + AC + BC

10

Los implicantes esenciales bastan para cubrir el mapa Expresin mnima


ACD + ABC + ABC + ACD

Simplificacin con maxterms

Simplificacin con maxterms


Mismo procedimiento pero agrupando los 0s
La formacin de un maxterm a partir de los valores 0 o 1 de las entradas es inversa a la del minterm
Equivalente a agrupar los 0s para formar trminos producto de F, y luego aplicar DeMorgan para obtener la expresion en PoS

AB CD 00 01 11 C 10

A 00 1 0 1 1 01 0 1 1 1 B 11 0 0 1 1 10 1 0 D 1 1

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

Considerando los 0s como los minterms de F F = B C D + A CD + BCD F = B CD + A CD + BCD F = (B + C + D) (A + C + D) (B + C + D)

Condiciones superfluas
En algunos circuitos pueden existir combinaciones de entrada que no pueden ocurrir

Ejemplo: BCD incremento en 1


Sea una funcin que recibe como entrada un dgito en BCD y cmo salida genera el dgito de entrada incrementado en 1
A B C D
A 0 0 0 0 0 0 0 0 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 W 0 0 0 0 0 0 0 1 1 0 X X X X X X X 0 0 0 1 1 1 1 0 0 0 X X X X X X Y 0 1 1 0 0 1 1 0 0 0 X X X X X X Z 1 0 1 0 1 0 1 0 1 0 X X X X X X

Aunque en la implementacin la salida asumir un valor lgico, al diseador no le importa cual sea y no es necesario especificarla. Un circuito con entradas BCD 8421 tendr slo 10 combinaciones de entradas vlidas de las 16 posibles.
Esto implica que las salidas asociadas al rango 1010 al 1111 pueden tener cualquier valor, pues nunca ocurrirn.

W X Y Z

1 1 1 1 1 1 1

2010 Mario Medina C.

Funciones con condiciones superfluas


Salidas asumen valor X para las combinaciones de entrada que no importan.
Condiciones superfluas, opcionales o indiferentes (dont care)
Estas funciones se llaman incompletamente especificadas

Funciones con condiciones superfluas


Eventualmente, los valores superfluos toman un valor lgico definido por el diseador La asignacin adecuada de valores de salida definidos a las condiciones superfluas pueden simplificar el diseo.
Por ejemplo, en el ejemplo anterior, la funcin de salida Z podra implementarse simplemente como D Generalmente se les asigna un estado inactivo, pero esto no simplifica el diseo

Ojo!! Los trminos X no corresponden ni a un 1 ni a un 0

Aunque si tomarn un valor de salida definido Un trmino superfluo es una X tanto en F como en F

Condiciones superfluas y KMaps


Los estados superfluos X pueden ser tratados individualmente como 0s o 1s con el fin de ayudar en el proceso de minimizacin
Formacin de subcubos de mayor orden
A 00 0 1 1 0 01 0 1 1 X B 11 X X 0 0 10 0 1 D 11 C 10 0 0 AB CD 00 01

Funciones con condiciones superfluas


AB CD 00 01 11 C 10 A 00 0 1 1 0 01 0 1 1 X B 11 X X 0 0 10 0 1 D 0 0

F(A,B,C,D) = m(1,3,5,7,9) + d(6,12,13) F = AD + BCD (sin considerar las X) F = CD + AD (considerando las X) Si tratamos esta X como 1, podemos formar un subcubo de orden 2. A
AB CD 00 0 1 1 0 01 0 1 1 X B 11 X X 0 0 10 0 1 D 11 C 10 0 0 00 01

F(A, B, C, D) = m(1,3,5,7,9) + d(6,12,13)

Lo mismo ocurre si deseamos la expresin mnima en PoS (agrupando 0s): F = D(A + C) Si se trata X como 1 en un mapa, debe tratarse igual en el otro mapa!

Mapa de Karnaugh de 5 variables

Mapa de Karnaugh de 5 variables


F(A, B, C, D, E) = m(2,5,7,8,10,13,15,17,19,21,23,24,29,31)

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

BC DE 00 01 11 10 00 01 11 10
16 17 19 18 20 21 23 22 28 29 31 30 24 25 27 26

BC 00 DE 00 01 11 10 0 0 0 1

01 0 1 1 0

11 0 1 1 0

10 1 0 0 1 4

BC 00 DE 00 01 2 11 10 0 1 1 0

01 0 1 1 0 A=1

11 0 1 1 0

10 1 0 0 0

A=0

A=1

A=0

F(A, B, C, D, E) = C E + A B E + B C D E + A C D E
1 2 3 4

2010 Mario Medina C.

Mapa de Karnaugh de 5 variables


DE A =0 01 11 10 2 DE A =1 01 11 10 00 3 6 BC 00 16 01 20 21 23 22 11 28 29 31 30 10 24 25 27 26 A=1 BC 00 0 1 7 5 01 4 11 12 13 15 14 11 10 9 10 10 8 A=0 00 BC 00 DE 00 01 11 1 BC DE 00 01 11 10 1 1 1 00 1 1 01 1 11 10 1 1 1 1 1 01 1 11 10 1

Mapa de Karnaugh de 5 variables


Mapa de 5 variables Dejamos variable A afuera X = DE + BCE + ABD + BCDE

17 19

18

F(A, B, C, D, E) = m (2,5,7 ,8,10 ,13,15 ,17 ,19 , 21, 23, 24 , 29 ,31)

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

Implicantes esenciales en mapa de 5 variables

Representacin espejo de mapa de 5 variables

Representacin alternativa
Diagrama muestra celdas adyacentes a minitrmino 5

Representacin alternativa
Representacin alternativa de un mapa de 5 variables
Tringulos superiores son adyacentes

2010 Mario Medina C.

Mapa de Karnaugh de 6 variables


AB =00 11 10 2 EF 00 01 3 6 CD 00 0 1 7 5 15 14 01 4 13 11 10 11 12 9 10 8
AB =00 11 10 1 CD AB =01 EF 00 01 11 10 1 CD AB =11 11 10 1 1 EF 00 01 00 1 01 1 11 10 1 00 01 11 10 1 1 EF 00 01 CD 00 01 11 10 1

Mapa de Karnaugh de 6 variables


CD EF 00 00 A=0 01 11 10 CD EF 00 A=1 01 11 10 00
32 33 35 34 0 1 3 2

CD 01
4 5 7 6

11
12 13 15 14

10
8 9 11 10

EF 00 01 11 10 CD EF 00 01 11 10

00
16 17 19 18

01
20 21 23 22

11
28 29 31 30

10
24 25 27 26

CD EF 00 01 11 10 AB =01 00 16 20 28 24 01 17 21 29 25 11 19 23 31 27 10 18 22 30 26 EF 00 01 11 10 50 51 54 CD 00 48 49 55 53 63 62 01 52 61 59 58 11 60 57 10 56

2,8,10,18,24, F(A, B, C, D, E, F) = m 26,34,37,42,45, 50,53,58,61

AB =11

01
36 37 39 38

11
44 45 47 46

10
40 41 43 42

00
48 49 51 50

01
52 53 55 54

11
60 61 63 62

10
56 57 59 58

CD EF 00 01 11 10 AB =10 00 32 36 44 40 01 33 37 45 41 11 35 39 47 43 10 34 38 46 42

CD EF 00 01 11 AB =10 00 01 1 1 11 10 1 1

10

B=0

B=1

Mapa de Karnaugh de 6 variables

EF

AB =00 11 10 1

CD 00 00

01

11

10 1

Mapas de Karnaugh con variables en el mapa


Alternativa para representar ms variables an en un mapa
Celdas no almacenan valores 0 1, sino que almacenan expresiones con variables que no estn en el mapa

01

CD EF 00 AB =01 00

01

11

10 1

2,8,10,18,24, F(A, B, C, D, E, F) = m 26,34,37,42,45, 50,53,58,61

01 11 10 1 CD EF AB =11 00 01 11 10 1 CD EF AB =10 11 10 1 1 00 01 1 1 00 01 11 10 1 1 1 00 01 11 10 1

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

Mapas de Karnaugh con variables en el mapa


Ejemplo: representar la funcin F(A, B, C, D) = ABC + ABC + ABCD + ABCD + (ABC) en un mapa de Karnaugh de 3 variables
El ltimo trmino es redundante

Mapas de Karnaugh con variables en el mapa


Separamos la funcin anterior utilizando la variable D
ABC y ABC son 1 independiente de D ABCD y ABCD son 1 slo si D es 1 ABC es redundante

2010 Mario Medina C.

Mapas de Karnaugh con variables en el mapa


Si D es 0, funcin se simplifica a AC Si D es 1, funcin se simplifica a C + AB Entonces, funcin F es
F = AC + D(C + AB)

2010 Mario Medina C.

10

Das könnte Ihnen auch gefallen