,6326,7,926 /Ï*,&26 352*5$0$%/(6

19
DISPOSITIVOS LÓGICOS PROGRAMABLES

Upload: others

Post on 21-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

DISPOSITIVOSLÓGICOS

PROGRAMABLES

Page 2: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Dispositivos lógicos programablesTipos de PLDs• Read Only Memory (ROM)• Programmable ROM (PROM, etc.)• Programmable Logic Arrays (PLA)• Programmable Array Logic (PAL)• Erasable PLD (EPLD) • Field Programmable Gate Arrays (FPGA)

Page 3: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Dispositivos lógicos programables• Arreglos lógicos sencillos

– Basados en circuitos lógicos de 2 niveles (AND/OR)– Tienen una estructura de arreglo regular– Distintos tipos

• Memorias de solo lectura, Read Only Memories (ROMs, PROMs, etc.)• Programmable Logic Array (PLA)• Programmable Array Logic (PAL)

• Arreglos programables in situ Field Programmable Gate Arrays (FPGA)– Bloque básico común replicado muchas veces– Cada bloque puede configurarse para producir distintas funcioneslógicas y en general incluyen biestables (flip-flops)– Interconexiones programables– las FPGAs más grandes tienen alrededor de 500K compuertasademás de 500 Kb de SRAM

Page 4: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Memoria de solo lectura, Read-Only Memory (ROM)• Un decodificador genera para las n variables de entradas 2n minitérminos.• Utilizando compuertas OR para unir los minitérminos de las funcionesBooleanas, se puede generar cualquier circuito combinatorio.• Las memorias ROM son dispositivos que incluyen el decodificador (compuertasAND) y las compuertas OR en un solo circuito integrado.• Un depósito de información binaria fija• Los CI ROM y PROM tienen uniones internas que pueden quemarse o romperse(“programando”)• Consisten en n líneas de entrada y m de salida• Cada combinación de entrada se llama dirección• Cada combinación de salida es una palabra• La cantidad de bits por palabra es m• La cantidad de direcciones posibles es 2n• Una palabra de salida es seleccionada por una dirección única

2n x mPROM

m salidas

n entradas

Page 5: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Construcción de una memoria ROM / PROM• Las ROM y PROM pueden construirseutilizando arreglos ortogonales de cables.

– Conexión opcional en cadaintersección.– El decodificador coloca un 1 lógico ensolo uno de los cables horizontales,que se puede detectar a la salida sihay una conexión realizada.

• Algunas PROMs se pueden configurarquebrando conexiones.– Alta tensión ubicada entre una entrada y una salida por vez.– La gran corriente causa que el fusible en la interconexión se queme.

• Otras PROMs pueden borrarse y reprogramarse (EPROMs, EEPROMs, Flash).dec

oder

01234567

entrad

as• Funciones almacenadas(0,1,3,4,6), (0,1,3,5,7), (2,3,6,7), (0,3,4,6)

Page 6: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Read-Only Memory (ROM / PROM)Ejemplo: ROM 4x4 con compuertas AND-OR

2x4decoderA1

A000011011

F0 F1 F2 F3

Tabla de verdadA0 A1 F0 F1 F2 F30 0 1 0 1 10 1 0 1 1 01 0 1 1 0 11 1 1 1 1 0

AND

OR

Page 7: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Read-Only Memory (ROM / PROM)Ejemplo: ROM 32x4

5x32decoder

A1A0

A4A3A2

012

31

F0 F1 F2 F3

Page 8: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Read-Only Memory (ROM / PROM)

Page 9: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable Logic Array (PLA)PLA: Notación de programación

Las PLA son estructuras más generales que las PAL o ROM. También tienen un arreglo de ANDs y uno de ORs ambos programables . El tamaño del arregloAND depende de la cantidad de entradas pero no tiene la cantidad de ANDs como una PROM (2n); mientras que el tamaño del arreglo OR depende de la cantidad de salidas.

Page 10: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable Logic Array (PLA)

• PLA: tiene configurable “AND-plane” y “OR-plane”.• “AND-plane” – entrada y “OR-plane” – salida• Utilizado para implementar suma de productos de dos niveles

x0 x1 x2 x3 x4 x5 z0 z1 z2 z3 = x0x1x2x3x4x5 + x0x1x2x5

x0x2x3x4x5x0x1x2x3x4x5x0x2x4x5x0x1x2x5x0x4x5x1x2x3x4

conexiónconfigurable

conexión configurable

Page 11: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable Logic Array (PLA)

• Diagrama en bloques de una PLA (Suma de Productos)

Inputs

Dense array of AND gates Product terms Dense array of OR gates

Outputs

Page 12: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable DevicesABCABCABCABCABCABCABCABCABCABC

F1 F2 F3 F4 F5 F6

F1 = A B CF2 = A + B + CF3 = A B CF4 = A + B + CF5 = A xor B xor CF6 = A xnor B xnor C

Page 13: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable Array Logic (PAL)

• PAL es similar a las PLAs pero tiene fijo el arreglo OR.• Más simple de programar y de construcción más barata.• Para cada salida está determinada la cantidad de términos.

x0 x1 x2 x3 x4 x5 z0 z1 z2 = x0x2x3x4x5 + x0x1x2x3x4x5

x0x2x3x4x5x0x1x2x3x4x5x0x2x4x5x0x1x2x5x0x4x5x1x2x3x4

conexiónconfigurable

Page 14: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable Array Logic (PAL)

PAL notación de programación

Page 15: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable Array Logic (PAL)

La PAL de la figura consiste de un número fijo de compuertas AND de entradas múltiples combinadas con compuertas OR. Las conexiones a cada AND son programables, hay flexibilidad en las funciones lógicas realizables. La única limitación es la cantidad fija de miniterminos..

Page 16: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable Array Logic (PAL)Ejemplo de diseño: Conversor BCD a código de Gray

Tabla de verdadMapas K

Funciones mínimas:W = A + B D + B CX = B C'Y = B + CZ = A'B'C'D + B C D + A D' + B' C D'

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

K-map for W

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

K-map for 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

K-map for Y

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

K-map for Z

Page 17: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Programmable Array Logic (PAL)

PAL programada

4 términos de producto para cada compuerta OR

A B C D

0

000

00

Ejemplo de diseño: ConversorBCD a código de Gray

Page 18: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Comparación de PROM, PLA y PAL• Se pueden considerar las PROMs y las PALs como versionesrestringidas de PLAs.– La PROM es una PLA con arreglo AND que genera todos losminitérminos y un arreglo OR configurable– La PAL es una PLA con un arreglo OR fijo, y cada salida es un subconjunto de las ANDs• Selección de acuerdo a las necesidades.– Se observará las ecuaciones a implementar– Tener en cuenta la cantidad de entradas y salidas– Comparar costos• Las PROMs son más flexibles, pero utilizar PALs y PLAs donderesulte posible.– Las que incluyen biestables permiten realizar circuitos secuencialessincrónicos

Page 19: ,6326,7,926 /Ï*,&26 352*5$0$%/(6

Herramientas de diseño• Las herramientas CAD realizan diseño en base a especificaciones en lenguajes descriptores de hardware• PALASM y ABEL elementales• VHDL y Verilog