Sie sind auf Seite 1von 29

Departamento de Electrnica Electrnica Digital

Diseo combinacional (Parte #2) Mapas de Karnaugh

Facultad de Ingeniera Bioingeniera Universidad Nacional de Entre Ros

Procedimiento de diseo de un circuito combinacional

Determinacin de la funcin lgica


1. Forma cannica de suma de productos
Expresin algebraica de una funcin lgica como la suma de los minitrminos de la funcin.
Considera nicamente las combinaciones de entrada que hacen 1 la funcin

Cada variable aparece complementada si su valor es 0 y sin complementar si es 1

2. Forma cannica de producto de sumas


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

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 A 0

1
0 1 2 3

0 1

Principales caractersticas del mapa K


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

Ejemplo de mapa de 4 variables


numeracin en cdigo continuo
DC BA 00

variables de entrada

01 11 10
4 5 7 6 12 13 15 14 8 9 11 10

00
nmero de minitrmino

0 1 3 2

01
celdas adyacentes

11 10

celdas adyacentes

Reglas de aplicacin 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.

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 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 Z 1 0 1 0 1 1 0 0 CB A 00 01 11 10

Z1 = ABC + ABC = AC (B + B) = AC Z2 = ACB + ACB = CB (A + A) = CB Z = Z1 + Z2 = AC + CB

0 1 1 0

1 0

0 0

1 Z =AC + CB 1

Simplificacin por unos lgicos (mapa K de minitrminos) Agrupar las celdas de valor 1 (minitrminos) Cada grupo representa a un trmino producto Un grupo de 2k 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 A 0 1 0 2 0 1 1 1
1

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

B A 0 1 0 2 0 1 1 1
1

Z=A+B

Z = A + A B = A + B

BIEN

MAL

paso adicional

Ejemplos
CB A 00 01 11 10

MAL

0 1 1 1

1 1

CB A 00 01 11 10

Z = C + ABC = C + AB

0 1 1 1

0 1

1 1

2 3

0 0

6 7

1 0

4 5

CB A 00 01 11 10

BIEN

0 1 1 1

1 1

Z = C + AB

CB A 00 01 11 10

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

1 1

1 1

MAL

Z = C + BC

1 1

1 1

0 0

CB A 00 01 11 10

0 1 1 1

1 1

1 1

MAL

CB A 00 01 11 10

0 1 1 1

1 1

1 1

BIEN

Z = C + B

DC BA 00 01 11 10 0 4 12 8 00 1 01 11 1 10
1 3 2

DC BA 00 01 11 10 0 4 12 8 00 1 01 11 1
1 3 2

1 1

5 7 6

1 1 1 1
15 14

13

1 1

5 7 6

1 1 1 1
15 14

13

11 10

11 10

10

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

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

Identificar primero las celdas que solo tienen una posibilidad de agrupacin (y agruparlas). Continuar con el resto de las celdas.

7 6

11

7 6

11

10

10

Ms ejemplos
DC BA 00 01 11 10 0 4 12 8 00 1 1 01 11 10
1 3 2

DC BA 00 01 11 10 0 4 12 8 00 1 1 1 01 11 10

1 1 1

5 7 6

1 1 1

13 15 14

9 11 10

1 1 1 1
3 2

5 7 6

13 15 14

9 11 10

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

1 1
3 2

5 7 6

13 15 14

9 11

1
10

10

Z = BD + AB + ABCD

Z = AC
= ABCD + ABCD + ABCD + ABCD = ABC + ABC = = AC

Simplificacin por ceros lgicos (mapa K de maxitrminos)


Agrupar las celdas de valor 0 lgico. Cada grupo representa un trmino suma. Un grupo de 2k celdas elimina k variables del trmino resultante.

CB A 00 01 11 10

0 1 1 1

0 1

1 1

2 3

1 1

6 7

0 0

4 5

A = 0/1, se elimina B = 0, C = 1, se complementa

ZM = (C + B) Si se agrupara por minitrminos:


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

0 1 1 1

1 1

1 1

0 0

Zm = C + B

Ejemplos
DC BA 00 01 11 10
00 01 11 10
0 1 3 2 4 5 12 13 15 14

00
8 9

01
0 1 3 2 4 5 7 6

11
12 13 15 14

10

00
8 9

01
0 1 3 2 4 5 7 6

11
12

10
8

0 0

00 01 11 10

0 0 0 0

0 0 0 0

00 01 11 10

0
13 9

0 0 0 0 0 0 0
14 15 11 10

0 0

7 6

0 0 0 0

11 10

11 10

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.

minitrminos DC BA 00 01 11 10 0 4 12 8 00 X 01 DC BA 00 01 11 10 0 4 12 8 00 0 0 x 0 01 11 10
1 3 2

maxitrminos DC BA 00 01 11 10 0 4 12 8 00 0 0 X 0 01 11 10

5 7 6

1 X 1 1
14 15

13

0 X X
3 2

5 7 6

13 15 14

MAL

11 10

X 1 X

11 10

11

1 X

0 X

10

0 x x 1 0 x
2 3

5 7 6

1 x 1 1 1 x
14 15

13

11 10

DC BA 00 01 11 10 0 4 12 8 00 X

DC BA 00 01 11 10 0 4 12 8 00 0 0 X 0 01 11 10

BIEN

01 11 10

1 3 2

5 7 6

1 X 1 1
14 15

13

0 X X
3 2

5 7 6

13 15 14

X 1 X

11 10

11

1 X

0 X

10

Ejemplo: detector de nmeros BCD pares


DC BA 00 01 11 10 0 4 12 8 00 1 1 1 01 11 10
1 3 5 7 6 13 15 14 9 11 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 01 11 10
1 3 5 7 6

13 15 14

9 11 10

X X X X

1 1

Z = A

SW: KarnaughMap

Ejemplo de diseo #1: circuito para encender un display de 7 segmentos


a f e g d b c

Diseo

Qu cdigo de entrada usara el circuito? Cuntas E y S tendra el circuito?

4 (BCD)

Circuito combinacional

1. Nmero de entradas y salidas Entradas: 4 - cdigo BCD (ALSB, B, C, D) Salidas: 7 (a, b, ...,g)
Funcin de mltiples salidas

Diseo

2. Tabla de verdad

3. Obtencin de las funciones 7 funciones 7 mapas de 4 variables

Criterio de diseo: Qu desventaja tiene usar X en este caso? Qu valor le dara a las X?

Ejemplo de diseo #2: conversin electrnica de binario a Gray Entradas: 4 (binario natural) Salidas: 4 (Gray)

Diseo

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

B3B2
8 9

1 1 1 1 1 1 1 1
14 15 13

12

B1B0
00 01 11 10

00
0 1 3 2

01

11
4 5 7 6 12 13 15 14

10

1 1 1 1

1 1 1 1

8 9

11 10

11 10

G3 = B3

G2 = B3B2/+ B3/B2 = B3 B2

Diseo
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 diseo combinacional


Ms de 6 variables de entrada: no se puede usar mapas K La minimizacin es importante pero 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

Das könnte Ihnen auch gefallen