Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de...

26
Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC

Transcript of Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de...

Page 1: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Lógica Programable

Electrónica Digital

Electrónica Básica

José Ramón Sendra SendraDpto. de Ingeniería Electrónica y AutomáticaULPGC

Page 2: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Matrices lógicas Programables (PLAs)

Bloques funcionales prefabricados de muchas puertas AND/OR (o NOR, o NAND)"personalizados" al crear o destruir conexiones entre las puertas

Diagrama de bloques de una matriz programable para generación de unasuma de productos

Entradas

Matriz de puertasAnd Lista de Minterms

Matriz de puertasOr

Salidas

Page 3: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Ejemplo: PLA 3x4 con 5 términos producto

Todas las conexiones están intactasantes de la programación

Matrices lógicas Programables (PLAs)

Page 4: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Datos:F0 = A + B' C'F1 = A C' + A BF2 = B' C' + A BF3 = B' C + A

Ecuaciones lógicas

Matriz de conexiones

Implantación de cuatro funciones lógicas en nuestra PLA ejemplo

1 = término activo0 = término negado- = No participa

1 = producto conectado0 = producto no conectado

Variables en los productos:

Términos en las sumas:

Matrices lógicas Programables (PLAs)

Salidas Entradas Productos

Conexionesa

eliminar

A 1 - 1 - 1

B 1 0 - 0 -

C - 1 0 0 -

F 0 0 0 0 1 1

F 1 1 0 1 0 0

F 2 1 0 0 1 0

F 3 0 1 0 0 1

A B B C A C B C A

Page 5: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Las conexiones no deseadas se eliminan

Implantación de cuatro funciones lógicas en nuestra PLA ejemplo

Matrices lógicas Programables (PLAs)

Page 6: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Representación alternativa que simplifica las estructuras con fan-in alto

Notación abreviadade modo que no tenemos

que dibujar todas las líneas

Además esta notación separece más a la implantación

real del dispositivo.

Notación para implantarF0 = A B + A' B'F1 = C D' + C' D

Matrices lógicas Programables (PLAs)

Page 7: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

ABC

A

B

C

A

B

C

ABC

ABC

ABC

ABC

ABC

ABC

ABC

F1 F2 F3 F4 F5 F6

Ejemplo de diseño

F1 = A B C

F2 = A + B + C

F3 = A B C

F4 = A + B + C

F5 = A xor B xor C

F6 = A xnor B xnor C

Múltiples funciones de A, B, C

Matrices lógicas Programables (PLAs)

Page 8: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Inciso: lógica de diodos.

Función de transferencia de un diodo

Símbolo de un diodo

V =(V - V )Anodo CátodoD

I

Anodo Cátodo

Corriente positiva

Tensión umbral (0.6V)

Page 9: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Inciso: lógica de diodos.

A ( )

B ( )

C ( )

D ( )

R pull-up

VCC

F

VCC

VCC

VCC

VCC

I0

I0

I0

I0

VCC

I0

A ( )

B(Gnd )

C ( )

D ( )

R pull-up

VCC

F V VCC

VCC

VCC

I0

I0

I0

I0

I0

Puerta And de diodos

Page 10: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Inciso: lógica de diodos.

Inconvenientes: Degradación gradual de la señal cuando incrementamos los niveles de la lógica.

Puerta Or: Igual que la And pero con resistencia de pull-down

0V5V

5V5V

0.6V1.2V

5V

1.8V2.4V

Page 11: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Dispositivos Lógicos Programables (PLDs)VCC

VCC

I31I 2I 4I

O1 O2

Fusible

Fusible

Tecnología bipolar

NAND-NAND

Page 12: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Inciso: inversor bipolar.

VCC

Gnd

R1

R2

IN

OUT

IN OUT

V =V -·R2·(V -0.6)/R1OUT INCC Si V >0.2VOUT

es el factor de ganancia de corriente del transistor bipolar

Page 13: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Dispositivos Lógicos Programables (PLDs)VTecnología CMOS CC

VCC

I31I 2I 4I

O1 O2

Fusible

Fusible/I1' /I1 /I2' /I2 /I3' /I3 /I4' /I4

AND-OR

Page 14: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Dispositivos Lógicos Programables (PLDs)Tecnología CMOS

Las PLDs vistas hasta ahora sólo pueden grabarse una vez

Veamos ahora tipos de PLDs regrabables, conocidas como EPLDs(erasable programmable logic device)

Puertano

flotante

Puertaflotante

GRABADO:Los dieléctricos entre la puerta flotantey el semiconductor se cargan negativamentecuando aplicamos una tensión positiva alta, de forma que el dieléctrico entre la puertaflotante y el semiconductor queda permanentemente cargado inutilizando el transistor

GRABADO:Los dieléctricos entre la puerta flotantey el semiconductor se cargan negativamentecuando aplicamos una tensión positiva alta, de forma que el dieléctrico entre la puertaflotante y el semiconductor queda permanentemente cargado inutilizando el transistor

BORRADO: Para eliminar esta carga se puede permitir la descarga mediante luz ultravioleta o mediante una tensión negativa (depende del tipo de aislante )

BORRADO: Para eliminar esta carga se puede permitir la descarga mediante luz ultravioleta o mediante una tensión negativa (depende del tipo de aislante )

Page 15: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Dispositivos Lógicos Programables (PLDs)Tipos de dispositivos comerciales

PAL son una modificación de las PLAs consisten en eliminar elplano OR de forma que quedamos limitados y no podemos usar un minterm en varias salidas. Una mejoría sobre lasPLAs es que tiene entradas bidireccionales, con lo que podemosusar según nos convenga algunos pines como entrada o como salida y también podemos diseñar lógica con más de dos niveles.

GAL admiten las variaciones de las PAL pero a su vez disponende una puerta XOR a la salida, con lo que podemos escoger entre la salida o la salida negada, esto permitirá una gran versatilidad.

Page 16: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

PALs y PLAs

¿Cuál es la diferencia entre Programmable Array Logic (PAL) y Programmable Logic Array (PLA)?

PAL — construida por Monolithic Memories, la topología del plano OR está limitada

Cada columna del plano OR tiene acceso sólo a un subconjunto

de los minterms

PLA — topologías generalizadas en los planos AND y OR

Page 17: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

PALs y PLAsEjemplo de diseño: conversor de código BCD a código Gray

Tabla de verdad Mapas de Karnaugh

W = A + B D + B CX = B C'Y = B + CZ = A'B'C'D + B C D + A D' + B' C D'

Funciones minimizadas:

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

W 0 0 0 0 0 1 1 1 1 1 X X X X X X

X 0 0 0 0 1 1 0 0 0 0 X X X X X X

Y 0 0 1 1 1 1 1 1 0 0 X X X X X X

Z 0 1 1 0 0 0 0 1 1 0 X X X X X X

AB

CD 00 01 11 10

00

01

11

10

D

B

C

A

0 0 X 1

0 1 X 1

0 1 X X

0 1 X X

AB

CD 00 01 11 10

00

01

11

10

D

B

C

A

0 1 X 0

0 1 X 0

0 0 X X

0 0 X X

mapa-K para X

AB

CD 00 01 11 10

00

01

11

10

D

B

C

A

0 1 X 0

0 1 X 0

1 1 X X

1 1 X X

AB

CD 00 01 11 10

00

01

11

10

D

B

C

A

0 0 X 1

1 0 X 0

0 1 X X

1 0 X X

mapa-K para W

mapa-K para Y mapa-K para Z

Page 18: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

PALs y PLAs

PAL programada:

Hay 4 minterms por puerta OR

A B C D

0

0

0

0

0

0

Page 19: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

PALs y PLAsImplantación del código en puertas de circuitos SSI

5 circuitos SSI vs. 1 circuito PLA/PAL

B

\ B C

C

A

D

\ D

D W

X

Y B

B

B

B

C

C

A

D

\ A

\ C

\ B

\B \C

\A

\ D

2

2

1 1: 7404 inversores2,5: 7400 NAND dos entradas 3: 7410 NAND tres entradas 4: 7420 NAND cuatro entradas

4

4

3

3

5

Z

1

3

2 1

2

D 1

1

4

2

Page 20: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Otro ejemplo: Comparador de magnitud

EQ NE LT GT

ABCD

ABCD

ABCD

ABCD

AC

AC

BD

BD

ABD

BCD

ABC

BCD

PALs y PLAs

AB

CD 00 01 11 10

00

01

11

10

D

B

C

A

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Mapa K para EQ

AB

CD 00 01 11 10

00

01

11

10

D

B

C

A

0 1 1 1

1 0 1 1

1 1 0 1

1 1 1 0

Mapa K para NE

AB

CD 00 01 11 10

00

01

11

10

D

B

C

A

0 0 0 0

1 0 0 0

1 1 0 1

1 1 0 0

Mapa K para L T

AB

CD 00 01 11 10

00

01

11

10

D

B

C

A

0 1 1 1

0 0 1 1

0 0 0 0

0 0 1 0

Mapa K para GT

PLA

Page 21: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

I1 I2 I3 I4 I5 I6 I7 I8 I9

O1

IO2

IO3

IO4

IO5

IO6

IO7

O8

I10

PA

L16

L8

Page 22: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

PAL16L8

Polaridad de las señales

No importa la polaridad de las señales de entrada ya que tenemosun buffer inversor y no inversor y por tanto ambas señales estánpresentes, la única diferencia será que línea lleve la señal y quelínea lleve su negada

En cuanto a las salidas es diferente, veamos que hay un inversor ala salida de cada puerta OR, y entonces la función realizada es la AND-OR-Invert.

Normalmente uno no calcula cual va a ser el mapa de contactos eliminados a mano, esto se deja a un ordenador y por tanto hay que fijarse en las funciones de salida.

Page 23: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

PAL16L8

Polaridad de las señales

Ejemplo de salida.

/salir= /(A1·A2·A3·A4·A5·A6·A7·A8) Correcto

salir = A1·A2·A3·A4·A5·A6·A7·A8 Incorrecto

/salir=/A1+ /A2 + /A3 + /A4 + /A5 + /A6 + /A7 + /A8

salir = (A1·A2·A3·A4·A5·A6·A7·A8)

Antes del inversor de salida queda un sólo sumando

Antes del inversor de salida quedan ocho sumandos

Page 24: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Ejemplo: Diseñar un multiplexor de ocho entradas de un bit.

Entradas Salidas de controlEN C B A Y0 0 x x x 0 1 0 0 0 D0 1 0 0 1 D1 1 0 1 0 D2 1 0 1 1 D3 1 1 0 0 D4 1 1 0 1 D5 1 1 1 0 D6 1 1 1 1 D7

Tabla de verdad

Y0 = EN·C·B·A·D0 +

EN·C·B·A·D1 +

EN·C·B·A·D2 +

EN·C·B·A·D3 +

EN·C·B·A·D4 +

EN·C·B·A·D5 +

EN·C·B·A·D6 +

EN·C·B·A·D7)

PAL16L8

Atención : la función lógica implantada es AND-OR-Invert y por tanto la salida será activa a nivel bajo

Page 25: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

Cuidado: tenemos una OR de ocho entradas y por lo tanto deberemos utilizar lógica de cuatro niveles

Ejemplo: Diseñar un multiplexor de ocho entradas de un bit.

PAL16L8

/(EN·C·B·A·D0 +

EN·C·B·A·D1 +

EN·C·B·A·D2 +

EN·C·B·A·D3)

/Y01=

/(EN·C·B·A·D4 +

EN·C·B·A·D5 +

EN·C·B·A·D6 +

EN·C·B·A·D7)

/Y02=

Y0 = /(/Y01 · /Y02)=Y01+Y02

Page 26: Lógica Programable Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.

O1

IO2

IO3

IO4

IO5

IO6

IO7

O8

I10

I1 I2 I3 I4 I5 I6 I7 I8 I9

GA

L16

V8C