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 de 8:30 a 11:30 en Aula 2
Miércoles de 9:00 a 12:00 en Slab I
Material Tutorial Vivado
Archivo de configuración ZYBO para Vivado
Extraer y copiar directorio en "[Vivado_install_dir]\Vivado\2018.2\data\boards\board_parts\zynq"
Space Pong: Juego realizando usando sólo VHDL por Juan Ignacio Segura en el curso 2018.
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
The Zynq Book (Libro gratis)
Exploring Zynq MPSoC With PYNQ and Machine Learning Applications (Libro gratis)