260 likes | 473 Views
Electrónica Básica. Lógica Programable Electrónica Digital. 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)
E N D
Electrónica Básica Lógica ProgramableElectrónica Digital 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 una suma de productos Entradas Matriz de puertas Or Matriz de puertas And Lista de Minterms Salidas
Matrices lógicas Programables (PLAs) Ejemplo: PLA 3x4 con 5 términos producto Todas las conexiones están intactas antes de la programación
F F F F A B C 0 1 2 3 0 1 1 0 1 1 - A B 0 0 0 1 - 0 1 B C 0 1 0 0 1 - 0 A C 1 0 1 0 - 0 0 B C 1 0 0 1 1 - - A Matrices lógicas Programables (PLAs) Implantación de cuatro funciones lógicas en nuestra PLA ejemplo Ecuaciones lógicas F0 = A + B' C' F1 = A C' + A B F2 = B' C' + A B F3 = B' C + A Datos: Variables en los productos: 1 = término activo 0 = término negado - = No participa Matriz de conexiones Entradas Salidas Productos Términos en las sumas: 1 = producto conectado 0 = producto no conectado Conexiones a eliminar
Matrices lógicas Programables (PLAs) Implantación de cuatro funciones lógicas en nuestra PLA ejemplo Las conexiones no deseadas se eliminan
Matrices lógicas Programables (PLAs) Representación alternativa que simplifica las estructuras con fan-in alto Notación abreviada de modo que no tenemos que dibujar todas las líneas Además esta notación se parece más a la implantación real del dispositivo. Notación para implantar F0 = A B + A' B' F1 = C D' + C' D
Matrices lógicas Programables (PLAs) Ejemplo de diseño Múltiples funciones de A, B, C 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
V =(V - V ) D Anodo Cátodo Inciso: lógica de diodos. Corriente positiva Símbolo de un diodo Cátodo Anodo Función de transferencia de un diodo I Tensión umbral (0.6V)
V V CC CC R pull-up R pull-up I0 I0 I0 F V F V CC V V A ( ) A ( ) CC CC I0 I0 B(Gnd ) B ( ) V CC I0 I0 C ( ) C ( ) V V CC CC I0 I0 D ( ) D ( ) V V CC CC Inciso: lógica de diodos. I0 Puerta And de diodos
Inciso: lógica de diodos. Puerta Or: Igual que la And pero con resistencia de pull-down Inconvenientes: Degradación gradual de la señal cuando incrementamos los niveles de la lógica. 0.6V 0V 1.2V 1.8V 5V 2.4V 5V 5V 5V
V CC I I I I 2 1 4 3 V CC Fusible Fusible O O 2 1 Dispositivos Lógicos Programables (PLDs) Tecnología bipolar NAND-NAND
V CC R2 OUT R1 IN Gnd V =V -·R2·(V -0.6)/R1 Si V >0.2V CC OUT IN OUT Inciso: inversor bipolar. IN OUT es el factor de ganancia de corriente del transistor bipolar
CC Tecnología CMOS I I I I 2 1 4 3 V CC Fusible Fusible /I1' /I1 /I2' /I2 /I3' /I3 /I4' /I4 AND-OR O O 2 1 Dispositivos Lógicos Programables (PLDs) V
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) GRABADO: Los dieléctricos entre la puerta flotante y el semiconductor se cargan negativamente cuando aplicamos una tensión positiva alta, de forma que el dieléctrico entre la puerta flotante y el semiconductor queda permanentemente cargado inutilizando el transistor Puerta flotante Puerta no flotante BORRADO: Para eliminar esta carga se puede permitir la descarga mediante luz ultravioleta o mediante una tensión negativa (depende del tipo de aislante )
Dispositivos Lógicos Programables (PLDs) Tipos de dispositivos comerciales PAL son una modificación de las PLAs consisten en eliminar el plano OR de forma que quedamos limitados y no podemos usar un minterm en varias salidas. Una mejoría sobre las PLAs es que tiene entradas bidireccionales, con lo que podemos usar 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 disponen de una puerta XOR a la salida, con lo que podemos escoger entre la salida o la salida negada, esto permitirá una gran versatilidad.
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
Ejemplo de diseño: conversor de código BCD a código Gray PALs y PLAs Tabla de verdad Mapas de Karnaugh A A AB AB 00 01 11 10 00 01 11 10 CD CD 00 0 0 X 1 00 0 1 X 0 01 0 1 X 1 01 0 1 X 0 D D 0 1 X X 0 0 X X 11 11 C C 10 10 0 1 X X 0 0 X X B B mapa-K para X mapa-K para W A A AB AB 00 01 11 10 00 01 11 10 CD CD 00 0 1 X 0 00 0 0 X 1 01 0 1 X 0 01 1 0 X 0 Funciones minimizadas: D D 1 1 X X 0 1 X X 11 11 C C W = A + B D + B C X = B C' Y = B + C Z = A'B'C'D + B C D + A D' + B' C D' 10 10 1 1 X X 1 0 X X B B mapa-K para Y mapa-K para Z
PALs y PLAs PAL programada: Hay 4 minterms por puerta OR
\ A D 1 \ D \ B \ D \ C 1: 7404 inversores 2,5: 7400 NAND dos entradas \ B 3: 7410 NAND tres entradas 4: 7420 NAND cuatro entradas PALs y PLAs Implantación del código en puertas de circuitos SSI \A A 1 \B 4 \C B D 2 3 W D B C 3 B 2 D C 4 4 Z A 5 B 2 1 X 2 C 1 C 3 2 Y B 1 5 circuitos SSI vs. 1 circuito PLA/PAL
PALs y PLAs PLA Otro ejemplo: Comparador de magnitud A A AB AB 00 01 11 10 00 01 11 10 CD CD 00 1 0 0 0 00 0 1 1 1 01 0 1 0 0 01 1 0 1 1 D D 11 0 0 1 0 11 1 1 0 1 C C 10 0 0 0 1 10 1 1 1 0 B B Mapa K para Mapa K para EQ NE A A AB AB 00 01 11 10 00 01 11 10 CD CD 00 00 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 01 01 D D 11 1 1 0 1 11 0 0 0 0 C C 10 1 1 0 0 10 0 0 1 0 B B Mapa K para L T Mapa K para GT
PAL16L8 Polaridad de las señales No importa la polaridad de las señales de entrada ya que tenemos un buffer inversor y no inversor y por tanto ambas señales están presentes, la única diferencia será que línea lleve la señal y que línea lleve su negada En cuanto a las salidas es diferente, veamos que hay un inversor a la 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.
PAL16L8 Polaridad de las señales Ejemplo de salida. /salir= /(A1·A2·A3·A4·A5·A6·A7·A8) Correcto Antes del inversor de salida queda un sólo sumando salir = (A1·A2·A3·A4·A5·A6·A7·A8) salir = A1·A2·A3·A4·A5·A6·A7·A8 Incorrecto Antes del inversor de salida quedan ocho sumandos /salir=/A1+ /A2 + /A3 + /A4 + /A5 + /A6 + /A7 + /A8
Tabla de verdad Entradas Salidas de control EN 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 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) Y0 = PAL16L8 Ejemplo: Diseñar un multiplexor de ocho entradas de un bit. Atención : la función lógica implantada es AND-OR-Invert y por tanto la salida será activa a nivel bajo
/(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= PAL16L8 Ejemplo: Diseñar un multiplexor de ocho entradas de un bit. Cuidado: tenemos una OR de ocho entradas y por lo tanto deberemos utilizar lógica de cuatro niveles Y0 = /(/Y01 · /Y02)=Y01+Y02