diseño combinacional (parte #2) mapas de karnaugh
TRANSCRIPT
![Page 1: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/1.jpg)
Departamento de ElectrónicaElectrónica Digital
Facultad de Ingeniería
Bioingeniería
Universidad Nacional de Entre Ríos
Diseño combinacional (Parte #2)
Mapas de Karnaugh
![Page 2: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/2.jpg)
Procedimiento de diseño de un circuito combinacional
![Page 3: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/3.jpg)
Expresión algebraica de una función lógica como la suma de los minitérminos de la función.
• Considera únicamente las combinaciones de entrada que hacen 1 la función
• Cada variable aparece complementada si su valor es 0 y sin complementar si es 1
Determinación de la función lógica
1. Forma canónica de suma de productos
![Page 4: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/4.jpg)
Expresión algebraica de una función lógica como el producto de los maxitérminos de la función.
• Considera únicamente las combinaciones de entrada que hacen 0 la función (salida)
• Cada variable aparece complementada si su valor es 1 y sin complementarsi es 0
2. Forma canónica de producto de sumas
![Page 5: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/5.jpg)
Simplificación
![Page 6: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/6.jpg)
Simplificación por mapas de Karnaugh (mapas K)
Método gráfico para simplificar funciones Es una representación matricial de una tabla de verdad:
• una celda del mapa = una fila de la tabla de verdad Muy práctico para funciones de no más de 4 ó 5 variables
Ejemplo de mapa de 2 variables
B0 2
0 1
1 3
0
1
A
![Page 7: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/7.jpg)
Cada celda se corresponde con un minitérmino ó maxitérmino de la función
En cada celda se escribe el valor de la salida de la función lógica para ese minitérmino/maxitérmino.
Cada celda difiere de la adyacente en solo una variable.
La numeración de las filas/columnas es en código Gray
Las filas/columnas externas son adyacentes entre sí
Principales características del mapa K
![Page 8: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/8.jpg)
Ejemplo de mapa de 4 variables
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10
variables de entradanumeración encódigo continuo
número de minitérmino
celdas adyacentes
celdas adyacentes
![Page 9: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/9.jpg)
1. Agrupar todas las celdas con el mismo valor, en uno o más grupos de celdas adyacentes
2. La cantidad de celdas en un grupo debe ser potencia de 2 (2, 4, 8)
3. Maximizar la cantidad de celdas en cada grupo
4. Minimizar la cantidad de grupos
5. Superponer grupos siempre que sea posible (una celda puede estaren uno o más grupos), si eso conduce a cumplir 2, 3 y 4.
Reglas de aplicación
![Page 10: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/10.jpg)
CB
1 100 01
0 00
1
A0 1
0 1
11 10
Z1 = A’B’C’ + A’BC’ = A’C’ (B’ + B) = A’C’
Z2 = A’CB’ + ACB’ = CB’ (A’ + A) = CB’
Z = Z1 + Z2 = A’C’ + CB’
Fundamento del método
En celdas adyacentes, sólo cambia el valor de una de las variables entre los dos términos representado por cada celda aplicando álgebra de Boole se elimina la variable que cambia de valor.
C B A Z0 0 0 10 0 1 00 1 0 10 1 1 01 0 0 11 0 1 11 1 0 01 1 1 0
Z =A’C’ + CB’
![Page 11: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/11.jpg)
Agrupar las celdas de valor 1 (minitérminos)
Cada grupo representa a un término producto
Un grupo de 2k celdas elimina k variables del término resultante Grupo de 2 celdas: elimina 1 variable Grupo de 4 celdas: elimina 2 variables Grupo de 8 celdas: elimina 3 variables
B0 2
10 1
1 31 1
0
1
A
Z = A + B
BIEN
A = 1,B = 0/1,B se elimina
A = 0/1,B = 1,A se elimina
B0 2
10 1
1 31 1
0
1
A
Z = A + A’ B = A + B
MAL paso adicional
Simplificación por unos lógicos (mapa K de minitérminos)
![Page 12: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/12.jpg)
Ejemplos
CB
1 100 01
1 1
0
1
A1
11 10
CB
0 21 1
00 01
1 31 1
0
1
A6 4
0 17 5
0 0
11 10 Z = C’ + A’B’C = C’ + A’B’
MAL
Z = C’ + A’B’
CB
1 100 01
1 11
A 11 1010BIEN
![Page 13: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/13.jpg)
MAL
MAL
CB
1 1
00 01
1 1
0
1
A 11 10
1
1
CB
1 1
00 01
1 1
0
1
A 11 10
1
1 BIEN
Z = C’ + B
CB
0 21 1
00 01
1 31 1
0
1
A6 4
1 07 5
1 0
11 10
CB
1 1
00 01
1 1
0
1
A 11 10
1
1
Z = C’ + BC
![Page 14: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/14.jpg)
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
1
14 10
11
10
1
1 1
1
1
11
• Identificar primero las celdas que solo tienen una posibilidad de agrupación (y agruparlas).
• Continuar con el resto de las celdas.
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
1
14 10
11
10
1
1 1
1
1
11
MAL BIEN
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
1
14 10
11
10
1
1
1
1
1
11
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
1
14 10
11
10
1
1
1
1
1
11
![Page 15: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/15.jpg)
Más ejemplosDC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10
1
1
1
1
1
11
1
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10
1
1
1
11
1
1
1
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10
1
1
1
1
1
1
1
Z = B’D’ + A’B’ + ABC’D Z = A’C’= A’B’C’D’ + A’B’C’D + A’BC’D’ + A’BC’D
= A’B’C’ + A’BC’ = … = A’C’
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10
1
1 1
1
Caso especial
![Page 16: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/16.jpg)
Simplificación por ceros lógicos (mapa K de maxitérminos)
CB
0 21 100 01
1 31 1
0
1
A6 4
1 07 5
1 0
11 10
A = 0/1, se eliminaB = 0, C = 1, se complementa
ZM = (C’ + B)
Si se agrupara por minitérminos:CB
0 21 1
00 01
1 31 1
0
1
A6 4
1 07 5
1 0
11 10
Zm = C’ + B
Agrupar las celdas de valor 0 lógico. Cada grupo representa un término suma. Un grupo de 2k celdas elimina k variables del término resultante.
![Page 17: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/17.jpg)
Ejemplos
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 0
0
0
0
0
0
0
0
00 01
00
01
0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10
0
0
0
0
0
0
0
08
9
11
10
00 01
00
01
0 4
1 5
12
13
11 10
3 7
2 6
15
14
11
10
0
0
0
0
0
00
0
Z = (B’ + C’).(D’ + C) Z = C
![Page 18: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/18.jpg)
Funciones con combinaciones indiferentes(no importa - don’t care)
Combinaciones de entrada para las que no importa el valor de la salida.– Porque no se ha especificado el comportamiento del circuito– Porque son imposibles
En la tabla de verdad y en los mapas K, la salida para estas combinaciones se indica con una letra X o d. En la simplificación por mapas K, estas celdas se toman como si tuvieran valor 1 ó 0, según conveniencia.
Usarlas para maximizar el tamaño de los grupos No agrupar celdas que solamente contengan X
Implicancias del uso de X en un diseño.
![Page 19: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/19.jpg)
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 1
1
x
1
x
x
1
0
0
x
0
0 0 x
x 1
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 X
X
X
0
0
X
0
0 0 X
X
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 1
1
X
1
X
X
1X
X
X 1BIEN
MAL
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 1
1
X
1
X
X
1X
X
X 1
BA 00 01
00
01
0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 X
X
X
0
0
X
0
0 0 X
X
DC
minitérminos maxitérminos
![Page 20: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/20.jpg)
Ejemplo: detector de números BCD pares
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 1
1
1
1 1
Z = D/A/ + A/B/C/
Z = [(D+A)/ + (A+B+C)/]// (todo NOR)
#compuertas: 7
#CIs: 3 (1 INV, 1 AND 3i, 1 OR 2i)
#compuertas: 4
#CI: 2 (1 NOR 2i, 1NOR 3i)
![Page 21: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/21.jpg)
Usando las condiciones no importa:
DC00 01
00
01
BA0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 X
X
X
X
1
1
1
1 1 X
X
Z = A’
![Page 22: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/22.jpg)
SW: KarnaughMap
![Page 23: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/23.jpg)
Ejemplo de diseño #1: circuito para encender un display de 7 segmentos
a
b
cde
f g
Circuitocombinacional
Circuitocombinacional
4 (BCD) 7
¿Qué código de entrada usaría el circuito?
¿Cuántas E y S tendría el circuito?
¿Qué código de entrada usaría el circuito?
¿Cuántas E y S tendría el circuito?
DiseñoDiseño
![Page 24: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/24.jpg)
1. Número de entradas y salidas
3. Obtención de las funciones
2. Tabla de verdadEntradas: 4 - código BCD (ALSB, B, C, D)Salidas: 7 (a, b, ...,g)
Función de múltiples salidas
7 funciones 7 mapas de 4 variables
Criterio de diseño:
¿Qué desventaja tiene usar X en este caso?
¿Qué valor le daría a las X?
Criterio de diseño:
¿Qué desventaja tiene usar X en este caso?
¿Qué valor le daría a las X?
DiseñoDiseño
![Page 25: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/25.jpg)
Ejemplo de diseño #2: conversión electrónica de binario a Gray
Entradas: 4 (binario natural)
Salidas: 4 (Gray)
00 01
00
01
B1B0 0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 1
1
1
1
1
11
1
B3B2
G3 = B3
00 01
00
01
B1B0 0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10 1
1
1
1
1
11
1
B3B2
G2 = B3B2/+ B3/B2
= B3 B2
DiseñoDiseño
![Page 26: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/26.jpg)
B1
B2
B3
G1
G2
G3
Generalizando para n bits:Gn = Bn
Gi = Bi xor Bi+1 para i entre 1 y n-1
Conversor binario-Gray de 3 bits
DiseñoDiseño
![Page 27: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/27.jpg)
30/04/2013
Mapas K de 5 y 6 variables
![Page 28: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/28.jpg)
Tips finales acerca del diseño combinacional
Más de 6 variables de entrada: no se puede usar mapas K
La minimización es importante… pero más lo es el diseño correcto!
Algoritmo de Quine-McCluskey• Funciones de hasta 8-12 variables
Programas heurísticos (p.e., Espresso, Minilog)
• Usados en casos de problemas grandes
Programas para manipular las expresiones y minimizar
o PALASM, ABEL, CUPL (para PLDs Programmable Logic Devices)
o VHDL, Verilog, para ASICs Application-Specific IC)
![Page 29: Diseño combinacional (Parte #2) Mapas de Karnaugh](https://reader030.vdocuments.site/reader030/viewer/2022012701/61a442ed4f4470274d1ff511/html5/thumbnails/29.jpg)
FINFIN