29
Departamento de Electrónica Electrónica Digital Facultad de Ingeniería Bioingeniería Universidad Nacional de Entre Ríos Diseño combinacional (Parte #2) Mapas de Karnaugh

Diseño combinacional (Parte #2) Mapas de Karnaugh

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diseño combinacional (Parte #2) Mapas de Karnaugh

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

Procedimiento de diseño de un circuito combinacional

Page 3: Diseño combinacional (Parte #2) Mapas de Karnaugh

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

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

Simplificación

Page 6: Diseño combinacional (Parte #2) Mapas de Karnaugh

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SW: KarnaughMap

Page 23: Diseño combinacional (Parte #2) Mapas de Karnaugh

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

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

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

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

30/04/2013

Mapas K de 5 y 6 variables

Page 28: Diseño combinacional (Parte #2) Mapas de Karnaugh

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

FINFIN