Está en la página 1de 29

Departamento de Electrnica

Electrnica Digital
Facultad de Ingeniera
Bioingeniera
Universidad Nacional de Entre Ros
Diseo combinacional (Parte #2)
Mapas de Karnaugh
Procedimiento de diseo de un circuito combinacional
Expresin algebraica de una funcin lgica como la suma de los minitrminosde la
funcin.
Considera nicamente las combinaciones de entrada que hacen 1la funcin
Cada variable aparece complementadasi su valor es 0y sin complementar si es 1
Determinacin de la funcin lgica
1. Forma cannica de suma de productos
Expresin algebraica de una funcin lgica como el producto de los
maxitrminos de la funcin.
Considera nicamente las combinaciones de entrada que hacen 0 la
funcin (salida)
Cada variable aparece complementada si su valor es 1 y sin complementar
si es 0
2. Forma cannica de producto de sumas
Simplificacin
Simplificacin por mapas de Karnaugh (mapas K)
Mtodo grfico para simplificar funciones
Es una representacin matricial de una tabla de verdad:
una celda del mapa =una fila de la tabla de verdad
Muy prctico para funciones de no ms de 4 5 variables
Ejemplo de mapa de 2 variables
B
0 2
0 1
1 3
0
1
A
Cada celda se corresponde con un minitrmino maxitrmino de la funcin
En cada celda se escribe el valor de la salida de la funcin lgica para ese
minitrmino/maxitrmino.
Cada celda difiere de la adyacente en solo una variable.
La numeracin de las filas/columnas es en cdigo Gray
Las filas/columnas externas son adyacentes entre s
Principales caractersticas del mapa K
Ejemplo de mapa de 4 variables
DC
00 01
00
01
BA
0 4
1 5
12 8
13 9
11 10
3 7
2 6
15 11
14 10
11
10
variables de entrada
numeracin en
cdigo continuo
nmero de minitrmino
celdas adyacentes
celdas adyacentes
1. Agrupar todas las celdas con el mismo valor, en uno o ms 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 ms grupos), si eso conduce a cumplir 2, 3 y 4.
Reglas de aplicacin
CB
1 1
00 01
0 0
0
1
A
0 1
0 1
11 10
Z
1
=AB C +ABC =AC (B +B) =AC
Z
2
=ACB +ACB =CB (A +A) =CB
Z =Z
1
+Z
2
=A C + CB
Fundamento del mtodo
En celdas adyacentes, slo cambia el valor de una de las variables entre los dos
trminos 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
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0
Z =AC +CB
Agrupar las celdas de valor 1 (minitrminos)
Cada grupo representa a un trmino producto
Un grupo de 2
k
celdas elimina k variables del trmino resultante
Grupo de 2 celdas: elimina 1 variable
Grupo de 4 celdas: elimina 2 variables
Grupo de 8 celdas: elimina 3 variables
B
0 2
1
0 1
1 3
1 1
0
1
A
Z =A +B
BIEN
A =1,
B =0/1,
B se elimina
A =0/1,
B =1,
A se elimina
B
0 2
1
0 1
1 3
1 1
0
1
A
Z =A +A B =A +B
MAL
paso adicional
Simplificacin por unos l gicos (mapa K de minitrminos)
Ejemplos
CB
1 1
00 01
1 1
0
1
A
1
11 10
CB
0 2
1 1
00 01
1 3
1 1
0
1
A
6 4
0 1
7 5
0 0
11 10 Z =C +ABC =C +AB
MAL
Z =C +AB
CB
1 1
00 01
1 1 1
A
11 10
1 0
BIEN
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 2
1 1
00 01
1 3
1 1
0
1
A
6 4
1 0
7 5
1 0
11 10
CB
1 1
00 01
1 1
0
1
A
11 10
1
1
Z =C +BC
DC
00 01
00
01
BA
0 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
1
1
Identificar primero las celdas que
solo tienen una posibilidad de
agrupacin (y agruparlas).
Continuar con el resto de las
celdas.
DC
00 01
00
01
BA
0 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
1
1
MAL
BIEN
DC
00 01
00
01
BA
0 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
1
1
DC
00 01
00
01
BA
0 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
1
1
Ms ejemplos
DC
00 01
00
01
BA
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
1 1
1
DC
00 01
00
01
BA
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
1
1
1
DC
00 01
00
01
BA
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
1
1
Z =BD +AB +ABCD
Z =AC
=ABCD +ABCD +ABCD +ABCD
=ABC +ABC ==AC
DC
00 01
00
01
BA
0 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
Simplificacin por ceros l gicos (mapa K de maxitrminos)
CB
0 2
1 1
00 01
1 3
1 1
0
1
A
6 4
1 0
7 5
1 0
11 10
A =0/1, se elimina
B =0,
C =1, se complementa
Z
M
=(C +B)
Si se agrupara por minitrminos:
CB
0 2
1 1
00 01
1 3
1 1
0
1
A
6 4
1 0
7 5
1 0
11 10
Z
m
=C +B
Agrupar las celdas de valor 0 lgico.
Cada grupo representa un trmino suma.
Un grupo de 2
k
celdas elimina k variables del trmino resultante.
Ejemplos
DC
00 01
00
01
BA
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
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
0
8
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
0 0
0
Z =(B +C).(D +C) Z =C
Funciones con combinaciones indiferentes
(no importa - dont 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 simplificacin por mapas K, estas celdas se toman como si
tuvieran valor 1 0, segn conveniencia.
Usarlas para maximizar el tamao de los grupos
No agrupar celdas que solamente contengan X
Implicancias del uso de X en un diseo.
DC
00 01
00
01
BA
0 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
DC
00 01
00
01
BA
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
00 01
00
01
BA
0 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 X
X
X 1
BIEN
MAL
DC
00 01
00
01
BA
0 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 X
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
minitrminos maxitrminos
Ejemplo: detector de nmeros BCD pares
DC
00 01
00
01
BA
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
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)
Usando las condiciones no importa:
DC
00 01
00
01
BA
0 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
SW: KarnaughMap
Ejemplo de di seo #1: circuito para encender un display
de 7 segmentos
a
b
c
d
e
f
g
Circuito
combinacional
Circuito
combinacional
4 (BCD) 7
Qucdigo de entrada usara el circuito?
Cuntas E y S tendra el circuito?
Qucdigo de entrada usara el circuito?
Cuntas E y S tendra el circuito?
Diseo
Diseo
1. Nmero de entradas y salidas
3. Obtencin de las funciones
2. Tabla de verdad
Entradas: 4 - cdigo BCD (A
LSB
, B, C, D)
Salidas: 7 (a, b, ...,g)
Funcin de mltiples salidas
7 funciones 7 mapas de 4 variables
Criterio de diseo:
Qudesventaja tiene usar X en
este caso?
Quvalor le dara a las X?
Criterio de diseo:
Qudesventaja tiene usar X en
este caso?
Quvalor le dara a las X?
Diseo
Diseo
Ejemplo de di seo #2: conversin electrnica de binario a Gray
Entradas: 4 (binario natural)
Salidas: 4 (Gray)
00 01
00
01
B
1
B
0
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
1 1
1
B
3
B
2
G
3
=B
3
00 01
00
01
B
1
B
0
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
1 1
1
B
3
B
2
G
2
=B
3
B
2
/+B
3
/B
2
=B
3
B
2
Diseo
Diseo
B1
B2
B3
G1
G2
G3
Generalizando para n bits:
Gn =Bn
G
i
=B
i
xor B
i+1
para i entre 1 y n-1
Conversor binario-Gray de 3 bits
Diseo
Diseo
30/04/2013
Mapas K de 5 y 6 variables
Tips finales acerca del diseo combinacional
Ms de 6 variables de entrada: no se puede usar mapas K
La minimizacin es importantepero ms lo es el diseo correcto!
Algoritmo de Quine-McCluskey
Funciones de hasta 8-12 variables
Programas heursticos (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
FIN

También podría gustarte