Está en la página 1de 29

Departamento de Electrónica

Electrónica Digital

Diseño combinacional (Parte #2)


Mapas de Karnaugh

Facultad de Ingeniería
Bioingeniería
Universidad Nacional de Entre Ríos
Procedimiento de diseño de un circuito combinacional
Determinación de la función lógica

1. Forma canónica de suma de productos


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


2. Forma canónica de producto de sumas
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 complementar
si es 0
Simplificación
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

B
A 0 1
0 2
0
1 3
1
Principales características del mapa K
 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í
Ejemplo de mapa de 4 variables

numeración en
variables de entrada código continuo

DC
BA 00 01 11 10
0 4 12 8
00
número de minitérmino 1 5 13 9
01
3 7 15 11
celdas adyacentes 11
2 6 14 10
10

celdas adyacentes
Reglas de aplicación

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 estar
en uno o más grupos), si eso conduce a cumplir 2, 3 y 4.
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 Z
0 0 0 1
0 0 1 0 Z1 = A’B’C’ + A’BC’ = A’C’ (B’ + B) = A’C’
0 1 0 1
0 1 1 0 Z2 = A’CB’ + ACB’ = CB’ (A’ + A) = CB’
1 0 0 1
Z = Z1 + Z2 = A’C’ + CB’
1 0 1 1
1 1 0 0
1 1 1 0 CB
A 00 01 11 10
0 1 1 0 1
Z =A’C’ + CB’
1 0 0 0 1
Simplificación por unos lógicos (mapa K de minitérminos)
 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

B B
A 0 1 A 0 1
A = 0/1, 0 2 0 2
0 1 0 1
B = 1,
1 3 1 3
A se elimina 1 1 1 1 1 1

Z=A+B Z = A + A’ B = A + B
A = 1,
B = 0/1,
B se elimina

BIEN MAL paso adicional


Ejemplos

CB
A 00 01 11 10
MAL 0 1 1 1
1 1 1
CB
A 00 01 11 10 Z = C’ + A’B’C = C’ + A’B’
0 2 6 4
0 1 1 0 1
1 3 7 5
1 1 1 0 0

CB
A 00 01 11 10
BIEN 0 1 1 1
1 1 1

Z = C’ + A’B’
CB
A 00 01 11 10
0 1 1 1
MAL
1 1 1 1
CB
A 00 01 11 10 Z = C’ + BC
0 2 6 4
0 1 1 1 0
1 3 7 5
1 1 1 1 0 CB
A 00 01 11 10
0 1 1 1
MAL
1 1 1 1

CB
A 00 01 11 10
0 1 1 1
BIEN
1 1 1 1

Z = C’ + B
DC DC
BA 00 01 11 10 BA 00 01 11 10
0 4 12 8 0 4 12 8
00 1 00 1
1 5 13 9 1 5 13 9
01 1 1 1 01 1 1 1
3 7 15 11 3 7 15 11
11 1 1 1 11 1 1 1
2 6 14 10 2 6 14 10
10 1 10 1 • Identificar primero las celdas que
solo tienen una posibilidad de
agrupación (y agruparlas).
MAL BIEN
• Continuar con el resto de las
DC DC celdas.
BA 00 01 11 10 BA 00 01 11 10
0 4 12 8 0 4 12 8
00 1 1 00 1 1
1 5 13 9 1 5 13 9
01 1 1 01 1 1
3 7 15 11 3 7 15 11
11 1 1 11 1 1
2 6 14 10 2 6 14 10
10 1 1 10 1 1
Más ejemplos
DC DC
BA 00 01 11 10 BA 00 01 11 10
0 4 12 8 0 4 12 8
00 1 1 00 1 1 1
1 5 13 9 1 5 13 9
01 1 1 01 1 1 1
3 7 15 11 3 7 15 11
11 1 1 11 1
2 6 14 10 2 6 14 10
10 1 1 10 1

Caso especial
DC DC
BA 00 01 11 10 BA 00 01 11 10
0 4 12 8 0 4 12 8
00 1 1 1 1 00 1 1
1 5 13 9 1 5 13 9
01 1 1 01
3 7 15 11 3 7 15 11
11 1 11
2 6 14 10 2 6 14 10
10 10 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’
Simplificación por ceros lógicos (mapa K de maxitérminos)
 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.

A = 0/1, se elimina
CB B = 0,
A 00 01 11 10
0 2 6 4 C = 1, se complementa
0 1 1 1 0
1 3 7 5
1 1 1 1 0
ZM = (C’ + B)

Si se agrupara por minitérminos:


CB
A 00 01 11 10
0 2 6 4
0 1 1 1 0
Zm = C’ + B
1 3 7 5
1 1 1 1 0
Ejemplos

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

Z = (B’ + C’).(D’ + C) Z=C


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.


minitérminos maxitérminos

DC DC
BA 00 01 11 10 BA 00 01 11 10
0 4 12 8 0 4 12 8
00 X 00 0 0 X 0
1 5 13 9 1 5 13 9
01 X 1 X 01 0 X X
DC MAL 3 7 15 11 3 7 15 11
BA 00 01 11 10 11 X 1 1 1 11 X
0 4 12 8
00 0 0 x 0 2 6 14 10 2 6 14 10
10 X 1 X 10 0 X X
1 5 13 9
01 0 x 1 x
3 7 15 11
11 x 1 1 1 DC DC
BA 00 01 11 10 BA 00 01 11 10
2 6 14 10 0 4 12 8 0 4 12 8
10 0 x 1 x 00 X 00 0 0 X 0
BIEN 01
1
X
5 13
1 X
9
01
1
0 X
5 13
X
9

3 7 15 11 3 7 15 11
11 X 1 1 1 11 X
2 6 14 10 2 6 14 10
10 X 1 X 10 0 X X
Ejemplo: detector de números BCD pares

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

Z = D/A/ + A/B/C/

#compuertas: 7
#CIs: 3 (1 INV, 1 AND 3i, 1 OR 2i)

Z = [(D+A)/ + (A+B+C)/]// (todo NOR)

#compuertas: 4
#CI: 2 (1 NOR 2i, 1NOR 3i)
Usando las condiciones no importa:

DC
BA 00 01 11 10
0 4 12 8
00 1 1 X 1
1 5 13 9
01 X
3 7 15 11
11 X X
2 6 14 10
10 1 1 X X

Z = A’
SW: KarnaughMap
Diseño
Ejemplo de diseño #1: circuito para encender un display
de 7 segmentos
a

f g b
e d c

¿Qué código de entrada usaría el circuito?


¿Cuántas E y S tendría el circuito?

4 (BCD) 7
Circuito
combinacional
Diseño
1. Número de entradas y salidas
Entradas: 4 - código BCD (ALSB, B, C, D)
2. Tabla de verdad
Salidas: 7 (a, b, ...,g)
Función de múltiples salidas

3. Obtención de las funciones

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?
Ejemplo de diseño #2: conversión electrónica de binario a Gray Diseño

Entradas: 4 (binario natural)


Salidas: 4 (Gray)

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

G3 = B3 G2 = B3B2/+ B3/B2
= B3  B2
Diseño
B1
G1

B2
G2

B3 G3

Conversor binario-Gray de 3 bits

Generalizando para n bits:


Gn = Bn
Gi = Bi xor Bi+1 para i entre 1 y n-1
Mapas K de 5 y 6 variables

30/04/2013
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)
FIN

También podría gustarte