Arquitectura de las FPGAs (Field Programmable Gate Array): bloques lógicos, bloques de interconexión y componentes de entrada/salida programables. Componentes embebidos: memorias, módulo de procesamiento de señal, y procesadores. Herramientas EDA. Sïntesis en diferentes niveles de abstracción: RTL, lógico y alto nivel. Arquitecturas SoC FPGAs.
Unidad 1: Introducción a los Sistemas Embebidos orientados a FPGA. Introducción a los Sistemas Embebidos: Características, Aplicaciones, Alcances. Plataformas de diseño digital para Sistemas Embebidos. Dispositivos lógicos programables. Tecnologías de programación.
Unidad 2: Arquitectura de dispositivos FPGA. Principales fabricantes. Introducción a las familias de FPGAs. Bloques lógicos programables. Interconexión programable. Entradas/salidas programables. Mecanismos para la resolución de problemas de sincronismo. IP Cores: Hard, Soft y Firm. Evolución de Hard IP cores en FPGAs comerciales.
Unidad 3: Metodología de Diseño en FPGA. Estilos descriptivos y niveles de abstracción. Diseño RTL. Metodologías Bottom-Up y Top-Down: ventajas y desventajas. Herramientas EDA: flujo de diseño, procesos involucrados y alternativas comerciales y libres de Herramientas EDA. Síntesis basada en la plataforma.
Unidad 4: Desarrollo y Uso de Cores IP. Beneficios de reuso de cores IP. Desafíos de la metodología de reuso de diseño. Especificación y métodos de implementación de IP Cores. Uso de interfaces estándares. Desarrollo de controladores de interfaces estándares: Análisis de frecuencias, protocolos y aplicación de FSM al desarrollo de controladores.
Unidad 5: Introducción a la Síntesis de Alto Nivel. Exploración del espacio de diseño. Objetivos de la síntesis de alto nivel (HLS). Evolución de las herramientas de HLS. Estado actual de herramientas HLS y opciones. Flujo de diseño. HLS vs. RTL. Optimizaciones en HLS: área y tiempo. Verificación.
Unidad 6: Introducción a los SoC FPGA.
Que son los SoC FPGAs? Beneficios. Componentes principales. Procesadores embebidos. Principales fabricantes: placas y entornos de desarrollo. Flujo de Diseño. Creación de sistemas embebidos usando SoC FPGAs.
Lunes 12/11 de 8:00 a 11:00 en Slab 3
Miércoles 14/11 de 9:00 a 12:00 en Aula 3
Jueves 15/11 de 9:00 a 12:00 en Slab 4
Jueves 15/11 de 14:00 a 17:00 en Slab3
Viernes 16 de 14:00 a 17:00 en Slab3
Miércoles 21/11 de 9:00 a 12:00 en Aula 3
Jueves 22/11 de 9:00 a 12:00 en Slab 4
Jueves 22/11 de 14:00 a 17:00 en Slab3
Viernes 23 de 14:00 a 17:00 en Slab3
Unidad 1: Sistemas Embebidos en Lógica Programable
Unidad 2: Introducción a los FPGAs
Unidad 3: Tutorial Introductorio Vivado Design Flow - Material de tutorial
Unidad 4: Manejo de Periféricos - Material de tutorial
Unidad 5: Introduccion a HLS - Material de tutorial
Unidad 6: Introducción a SoC FPGAs - Material de tutorial
Archivo de configuración ZYBO para Vivado
Extraer y copiar directorio en "[Vivado_install_dir]\Vivado\2018.2\data\boards\board_parts\zynq"
Introduction to Embedded System Design Using Field Programmable Gate Arrays, R. Dubei, Springer, 2009,
FPGA Design Best Practices for Team-based Reuse, P. Simpson, Springer, 2015
The Design Warrior's Guide to FPGAs: Devices, Tools and Flows, C. Maxfield, Elsevier, 2004
The Zynq Book: Embedded Processing with the Arm Cortex-A9 on the Xilinx Zynq-7000 All Programmable Soc, Crockett, L. H., Elliot, R. A., Enderwitz, M. A., & Stewart, R. W., Strathclyde Academic Media, 2014
FPGAs for Software Programmers, Koch, D., Hannig, F., & Ziener, D., Springer, 2016
FPGA prototyping by VHDL examples: Xilinx Spartan-3 version., CHU, Pong P, John Wiley & Sons, 2011