DISPOSITIVOS DE LÓGICA PROGRAMABLES EN CAMPO (FPGA) DIGITAL II ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1
Preguntas a responder sobre FPGA Qué innovación introducen? Cuándo son una opción? Cómo es la metodología de trabajo? FPGA - R. Corti 2
Electrónica e Informática Desde 1950 la electrónica tuvo avance muy acelerado Dos hechos fundamentales Crecimiento exponencial en los niveles de integración Rápida evolución de las herramientas informáticas de apoyo al diseño (EDA). Nuevos dispositivos y arquitecturas. Nuevas metodologías y herramientas de diseño FPGA - R. Corti 3
Dispositivos ASIC Dispositivo dedicado a una única función, o un número limitado de funciones, completamente diseñado por el usuario (Layout). El fabricante ocupa el rol de fundidor de silicio. FPGA - R. Corti 4
Dispositivos ASIC: Clasificación. ASIC Parcialmente Dedicados Totalmente Dedicados Lógica Programable Gate Array Standard Cell SPLD CPLD FPGA FPGA - R. Corti 5
Dispositivos de lógica programable. Mayor flexibilidad Personalización independiente de la fábrica Que el usuario personalice un dispositivo standard. Entradas Los dispositivos son de complejidad diversa DESVENTAJA Salidas Se desperdician recursos de pastilla FPGA - R. Corti 6
FPGA: Cuál es la innovación introducida?? Arquitectura extremadamente flexible de tecnología SRAM Bloques lógicos programables (CLB, LE) Reprogramación simple y rápida en circuito Interconexión programable Bloques I/O programables FPGA - R. Corti 7
Programación o configuración en campo del dispositivo µp FPGA Se cambian las instrucciones Se cambian las conexiones y las funciones lógicas Cambia el Software Cambia el Hardware FPGA - R. Corti 8
FPGA: Cómo cambiar la lógica? LUT s PLD convencionales FPGA FPGA - R. Corti 9
FPGA : Ejemplo de bloque lógico configurable. LUT s Fuente: Hoja de datos de la familia XC4000E Xilinx. FPGA - R. Corti 10
FPGA: Ejemplo de conexiones programables Fuente: Hoja de datos de la familia XC4000E Xilinx. FPGA - R. Corti 11
FPGA : Ejemplo de bloque de I/O Fuente: Hoja de datos de la familia XC4000E Xilinx. FPGA - R. Corti 12
Evolución de las Arquitecturas Virtex II y Virtex II Pro Fuente: Publicaciones de la empresa Xilinx. Spartan 2 y Virtex FPGA - R. Corti 13
Arquitectura modular orientada a las aplicaciones: Fuente: Publicaciones de la empresa Xilinx. FPGA - R. Corti 14
FPGA: Nuevos encapsulados Permiten una conexión muy versátil de I/O Se disponen de más pines para el usuario Mejora la disipación térmica En nuestro país aún no hay tecnología para montar estos CI. FPGA - R. Corti 15
FPGA s basadas en SRAM: Ideas fundamentales 1. Dispositivo de lógica programable estándar muy flexible 2. Personalizable por el usuario con ambientes EDA 3. Arquitectura basada en SRAM programación en campo 4. Volátiles Pierden su configuración al cesar la energía Al iniciar el sistema, se debe restaurar la configuración El diseño es accesible, tiene baja confidencialidad 5. Otras tecnologías de fabricación Otras características FPGA - R. Corti 16
Tecnologías de fabricación SRAM ANTIFUSIBLES Flash FPGA - R. Corti 17 EPROM
Comparación de las tecnologías de fabricación FPGA - R. Corti 18
Qué ASIC utilizar? Cuándo elegir FPGA?? Performance (área, frecuencia de trabajo, consumo) Tiempo de desarrollo Cantidad de dispositivos Funcionalidad madura o cambiante FPGA para lograr un diseño maduro Volcado a una ASIC de tipo Full-Custom FPGA - R. Corti 19
ASIC Full Custom versus FPGA FPGA - R. Corti 20
FPGA s: Cómo se usan?? Su configuración se define, simula, corrige e implementa en ambientes EDA integrados Introducen la simulación como un elemento fundamental. Diseño Simulación Prototipo Permiten distintas metodologías y flujos de diseño Permiten modularización y reuso a partir de bibliotecas FPGA - R. Corti 21
FPGA s: Fases de desarrollo EDA Ingreso del diseño Netlist funcional Simulación funcional Síntesis Netlist + Restricciones Implementación Bitstream Simulación temporal Programación del dispositivo FPGA - R. Corti 22
Fases de desarrollo EDA: Procesos FPGA - R. Corti 23
Ingreso del diseño Digital II Otras asignaturas Captura de Esquemáticos Lenguajes HDL Editores Gráficos Bibliotecas de bloques Personalización de funcionalidad Complejidad hasta 6000 puertas Descripciones de alto nivel Edición rápida y sencilla Diseños más complejos Las herramientas EDA permiten modularizar el sistema y combinar distintos estilos de descripción. FPGA - R. Corti 24
Ingreso del diseño con esquemáticos: FPGA - R. Corti 25
Simulación comportamental del diseño Depuración!! FPGA - R. Corti 26
Programación en campo del dispositivo El archivo bitstream obtenido permite configurar la FPGA Cómo?? FPGA configurables en campo y volátiles. Es posible bajar la configuración desde una PC Placa académica XSA - 50 A través del puerto paralelo utilizando herramientas de software y recursos de la placa. Existen otras formas de programar una FPGA. FPGA - R. Corti 27
Placa XSA-50 - Conexiones externas El diseño reside en la FPGA!! Verificación de su funcionamiento Fuente: XSA- Manual del usuario. FPGA - R. Corti 28
Ley de Moore para FPGA A medida que crece el nº de transistores el costo baja. FPGA - R. Corti 29
FPGA: Tendencias Fuente: Publicaciones de la empresa Actel. FPGA - R. Corti 30
FPGA: Tendencias Fuente: Publicaciones de la empresa Actel. FPGA - R. Corti 31
Datos generales sobre FPGA s Algunas aplicaciones Guitarras Gibson sonido digital Vehículos de exploración de Marte (NASA) Módulo de control de Williams F1 Misiles Tomahawk Algunos Fabricantes Costo de los dispositivos Xilinx Altera Atmel Lattice Cypress Actel Quicklogic Desde menos de 10 dólares a varios cientos, dependiendo de las características, aún en la misma familia de dispositivos. FPGA - R. Corti 32
Conclusiones HW Reconfigurable Microelectrónica Informática Flexibles y reprogramables en campo. FPGA Personalizables por el usuario con herramientas EDA Bajo tiempo de desarrollo y tolerancia a fallas Ideales para muchas aplicaciones Fundamentales para I+D FPGA - R. Corti 33
Bibliografía Fundamentos del diseño de CI digitales M.I.Schiavón UNR Editora Capítulos 1, 2 y 5. Diseño digital J. Wakerly Capítulo 10 (dispositivos programables CPLD y FPGA). Programmable_logic_design_handbook Xilinx Introducción (evolución de los dispositivos) y herramienta Webpack FPGA - R. Corti 34