UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de Electrónica y Mecatrónica 1. INTRODUCCIÓN A LOS CIRCUITOS DIGITALES PROGRAMABLES S I S T E M A S D I G I T A L E S 1 M. C. Felipe Santiago Espinosa Octubre / 2017
CIRCUITOS DIGITALES Lógica Digital Lógica Estándar Lógica Reconfigurable Personalizable ASIC TTL 74xx CMOS 4xxx Micro controladores Microprocesador + Memoria SPLD s CPLD s FPGA s SoC FPGA ASIC : Application-Specific Integrated Circuit. 2
CIRCUITOS DIGITALES RECONFIGURABLES De manera general, un circuito digital reconfigurable (CDR) contiene un arreglo de celdas lógicas. En cada celda se puede programar una función booleana. Las celdas se comunican por conexiones que también son programables. Los CDR también cuentan con bloques I/O configurables. 3
CIRCUITOS DIGITALES RECONFIGURABLES Históricamente, diferentes CDR s se han colocado en el mercado: Dispositivos simples: Programmable Read Only Memory (PROM) Programmable Logic Arrays (PLA) Programmable AND-Array Logic (PAL) Complex Programmable Logic Devices (CPLD) Field Programmable Gate Arrays (FPGA) System on a Chip (SoC) Las densidades (# de transistores o compuertas en un chip) se han ido incrementando y con ello se han ampliado las áreas de aplicación. 4
CIRCUITOS DIGITALES RECONFIGURABLES Los CDR s pueden ser programados en sitio en segundos o minutos, en lugar de semanas como ocurre con los ASIC. Algunos CDR s cuentan con densidades que superan los 2 millones de compuertas. Esta densidad es lo suficientemente alta como para implementar casi cualquier sistema digital (Comparable a los ASIC) Los CDR s representan un estilo de diseño de bajo-riesgo, porque el precio de un error en la lógica es pequeño tanto en dinero como en retrasos del proyecto. Los CDR s no necesitan ser probados, dado que están completamente caracterizados por el fabricante. 5
VELOCIDAD EN LOS CDR S La velocidad de los CDR s es adecuada para muchas aplicaciones, algunos dispositivos son manejados con osciladores externos de 100 o hasta 200 MHz, pero su circuitería interna les permite manejar señales de reloj internas de hasta 800 MHz. Debido a los recursos requeridos para su programación, la velocidad de un CDR nunca alcanzará la velocidad de un ASIC. La velocidad de una aplicación se puede incrementar cambiando el CDR por uno con un proceso CMOS más rápido, sin modificar el diseño. 6
DENSIDAD EN LOS CDR S La programabilidad de los CDR s requiere de circuitería adicional que no puede ser usada por los diseñadores (Costo en Área). Sin embargo, la densidad se ha incrementado recientemente porque la mayoría de los fabricantes de CDR s están empleando nuevos procesos CMOS de sub-micras. Obviamente, la densidad de un CDR s es menor a la de un ASIC. 7
TIEMPO DE DESARROLLO El tiempo de desarrollo usando CDR s es medido en días o semanas, en contraste al tiempo de desarrollo con ASICs. CDR 8 ASIC
PROTOTIPADO Y TIEMPO DE SIMULACIÓN La verificación de un ASIC requiere de una extensiva simulación antes de solicitar la manufactura. En contraste, la simulación con un CDR es mucho más simple por el hecho de que su organización y tiempos de propagación son conocidos de antemano. Muchos usuarios de CDR s evitan la simulación de un sistema completo y optan por una verificación in-circuit. 9
PRUEBAS Y MANUFACTURA En los ASIC s hay tres tipos de costos adicionales para el desarrollo de pruebas: Consideración de una lógica interna que facilite las pruebas. Creación de programas de prueba. Prueba de partes cuando la manufactura ha sido completada. Los CDR s tienen una estructura simple y repetible, el programa de prueba es el mismo para todos los diseños y usuarios de esa parte, el usuario no necesita diseñar pruebas específicas. Los CDR s son manufacturados y liberados como partes completamente probadas, listas para la implementación de diseños. 10
MODIFICACIONES FUTURAS Un diseño basado en un CDR puede ser modificado reprogramando al dispositivo. La reprogramación puede tomar segundos o minutos, ya sea fuera de línea o en línea (mientras el sistema está operando). En contraparte, cada nueva versión de un diseño basado en un ASIC requiere de una máscara personalizada que cuesta miles de dólares, lo cual sólo es factible si se realizará una producción masiva, amortizando el costo entre el total de unidades manufacturadas. 11
RIESGO DE INVENTARIO El mismo CDR puede ser utilizado para diferentes diseños. En contraste con un ASIC que es utilizado en un sólo diseño. Esto significa que se requiere de un estudio previo para determinar el volumen de circuitos ASIC a manufacturar, siempre existe la probabilidad de que sean demasiadas o insuficientes partes. No representa un riesgo mantener un volumen alto de CDR s en inventario. 12
LÓGICA RECONFIGURABLE VS. LÓGICA DISCRETA Similitudes: Ambas tecnologías representan un bajo riesgo en inventario. Ventajas de los CDR s: Velocidad y densidad mucho más alta. Se facilita el desarrollo de prototipos. Las correcciones y/o modificaciones futuras resultan mucho más simples. Existen herramientas de simulación más sofisticadas. Desventajas de los CDR s: Algunos CDR no son convenientes para sistemas de baja complejidad. Su precio es más alto, en muchos casos es necesario emplear una tarjeta para prototipado rápido. 13
LÓGICA RECONFIGURABLE VS. PROCESADORES Circuito Digital Reconfigurable Bloques e interconexiones configurables, es posible diseñar sistemas a medida. El programa define al hardware. En un sistema, los diferentes módulos pueden operar en forma concurrente. Un diseño puede optimizarse, ya sea en área o en velocidad. Procesadores Unidades funcionales bien definidas. El programa determina el comportamiento del hardware. Un programa se ejecuta en forma secuencial, aunque exista concuerrencia en los recursos, su atención por la CPU será secuencial 14
CONCEPTOS RELACIONADOS Procesador o CPU: Es la unidad central de procesamiento de un sistema, se encarga de administrar los recursos del mismo bajo la ejecución de un programa, que básicamente es un conjunto ordenado de instrucciones reconocidas por el procesador. Microprocesador: Básicamente es una CPU en un circuito integrado y generalmente es utilizado para administrar los recursos de una computadora. Microcontrolador: Es un CI que contiene una CPU, memoria de programa, memoria para datos, puertos de I/O, temporizadores, interfaces seriales, etc., con todos estos recursos los MCU (micro-controller unit) generalmente son empleados en sistemas con un propósito específico. Procesador Digital de Señales (DSP): Es un CI similar a un MCU porque tiene una CPU, memoria y otros recursos, pero la diferencia fundamental es la presencia de hardware optimizado para realizar operaciones matemáticas en forma rápida, generalmente cuentan con una unidad de punto flotante. 15
USO DE LOS DIFERENTES DISPOSITIVOS Lógica Discreta SPLD MCU CPLD DSP µp + mem y periféricos FPGA SoC FPGA Complejidad de un sistema 16
CLASIFICACIÓN DE LOS CDR Una clasificación básica es la siguiente: SPLD (Simple Programmable Logic Device) PROM (Programmable Read Only Memory) PLA (Programmable Logic Array) PAL (Programmable AND-Array Logic) GAL (Generic Array Logic) CPLD (Complex Programmable Logic Device) FPGA (Field Programmable Gate Array) SoC (System On a Chip) 17
PROM El primer circuito configurable por el usuario, inventado en 1956. Dirección Dato Arreglo AND fijo + Arreglo OR programable 18
PROM (EJEMPLO) X = AB C + A B C + A BC Y = A BC + AB C Z = AB C + ABC + A B C + ABC 19
PLA A mediados de la década de 1970 surgen los arreglos lógicos programables (PLA, Programmable Logic Array). Tienen un arreglo AND programable seguido de un arreglo OR programable. Pueden configurarse para realizar operaciones lógicas AND y OR. 20
PLA Arreglo AND programable + Arreglo OR programable 21
PLA (EJEMPLO) X = AB C + A B C + A BC Y = A BC + AB C Z = AB C + ABC + A B C + ABC 22
PAL A finales de la década de 1970 surge el arreglo lógico AND programable (PAL, Programmable AND-Array Logic) Mejora los tiempos de retardo del PLA El PAL consta de una arreglo AND programable y un arreglo OR fijo 23
PAL Arreglo AND programable + Arreglo OR fijo 24
PAL X = AB C + A B C Y = A BC + AB C Z = A B C + ABC 25
GAL Con los dispositivos PROM, PLA y PAL solo se pueden construir circuitos combinacionales Para crear circuitos secuenciales se requiere: Elementos de estado (Flip-Flop) Señal de reloj Líneas de retroalimentación Con estos requerimientos se crearon los arreglos lógicos genéricos (GAL, Generic Logic Array) Una GAL se basa en un Arreglo AND programable y macro celdas lógicas de salida 26
GAL Combinacional ( OLMC, Output Logic Macrocell ) Secuencial 27
CPLD Un CPLD es un dispositivo lógico programable complejo (Complex Programmable Logic Device) Son circuitos programables construidos con base en arreglos de bloques lógicos (LABs) Cada LAB contiene un conjunto de Macro celdas Con cada macro celda se puede realizar una función lógica independiente Los LABs se conectan entre si a través de un arreglo de interconexiones programable Es posible realizar sistemas con mayor complejidad 28
CPLD 29
CPLD (DIAGRAMA A BLOQUES) 30
CPLD (MACRO CELDA) 31
CPLD (BLOQUE I/O) 32
FPGA Un FPGA es un Arreglo de Compuertas Programable en Campo (Field Programmable Logic Device) Son dispositivos programables que están construidos con base en una matriz de bloques lógicos configurables (CLB) En cada CLB es posible desarrollar una función lógica independiente Entre los diferentes CLBs existen líneas de interconexión de diferentes tamaños que también son configurables Alrededor de la matriz se encentran bloques de entrada y salida (IOB) que también son configurables 33
FPGA 34
PRINCIPALES FABRICANTES 35
36
IOBs Hay 3 rutas principales : Entrada Salida Tres estados 37
Los CLBs (Configurable Logic Blocks) constituyen los principales recursos lógicos para implementar circuitos combinacionales o secuenciales síncronos. 38
Interior de un Slice 1 CLB = 4 Slices 39
SOC FPGA Los sistemas embebidos están basados en un procesador o en un FPGA. Un SoC FPGA integra un procesador (o procesadores) y lógica reconfigurables (típica de un FPGA) en el mismo dispositivo. Un SoC integra: La funcionalidad de gestión de alto nivel de un procesador y las operaciones en tiempo real, el procesamiento concurrente o el manejo de interfaces de un FPGA. El resultado es una plataforma de cómputo incrustada, aún más potente. 40
SOC FPGA Se elimina el costo de una pieza de plástico y se reduce el tamaño de la tarjeta del sistema. Se reduce el consumo de potencia y aumenta el ancho de banda para la comunicación entre el FPGA y el procesador. 41
SOC FPGA 42
TECNOLOGÍA DE PROGRAMACIÓN El fusible fue el primer elemento programable por el usuario, utilizado en los más simples PLDs. Actualmente se tienen diferentes tipos de interruptores programables para la configuración de dispositivos de alta densidad, como CPLDs y FPGAs. Las propiedades de estos interruptores programables, como tamaño, volatilidad, tecnología de fabricación, resistencia interna y capacitancia, determinan las principales características de un CDR. 43
EL ANTIFUSIBLE ONO Un antifusible es lo opuesto a un fusible. Es un circuito abierto hasta que se le hace circular una corriente (cerca de 5 ma). La corriente funde una capa aislante delgada para formar un enlace resistivo permanente. La serie ACT de FPGAs de Actel utiliza esta tecnología de programación, en un antifusible conocido como PLICE TM. 44
EL ANTIFUSIBLE METAL-METAL QuickLogic usa un antifusible metal-metal llamado ViaLink TM.. Un antifusible metal-metal permite una conexión directa a las capas metálicas y consume menos área (se reduce la capacitancia) en contraste a los antifusibles de poly-difusión (antifusible ONO). 45
RAM ESTÁTICA (SRAM) 46
RAM ESTÁTICA (SRAM) Una celda SRAM puede utilizarse para controlar intersecciones y seleccionar diferentes opciones para el ruteo de señales. 47
COMPUERTA FLOTANTE (EPROM/EEPROM) Sin programar es un transistor «normal», programado queda como un circuito abierto. 48
COMPUERTA FLOTANTE (EPROM/EEPROM) Puede ser utilizado para establecer la «unión» entre dos alambres: Word line Bit line 0 1 1 0 (considerando un canal n) 49
COMPUERTA FLOTANTE (EPROM/EEPROM) También puede ser utilizado para implementar lógica al estilo AND-alambrada. De esta forma, los transistores proporcionan lógica y ruteo. 50
COMPARACIÓN DE TECNOLOGÍAS DE PROGRAMACIÓN Tecnología Volatil? Reprogramable? Area R (ohm) (en unión) C (ff) (parásita) # pasos extra de fabric. SRAM Mux Trans. Paso Si Si In circuit Grande 0.5 2K 10 20 0 Antifusible ONO No No Pequeña (fusible) Grande (trans. Prog.) 300-600 5 3 Antifusible Metalmetal No No Pequeña (fusible) Grande (trans. Prog.) 50-100 1.1 1.3 3 EPROM No Si Fuera del circuito Pequeña en un arreglo 2 4K 10 20 3 EEPROM No Si In circuit 2 x EPROM 2 4K 10 20 > 5 Todas las tecnologías con un proceso CMOS a 1.2 µm. 51