Sistemas Embebidos en Lógica Programable

Curso 2019

Docentes

Contenidos Mínimos

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.

Programa

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.

Horarios

    • Lunes de 8:30 a 11:30 en Aula 2

    • Miércoles de 9:00 a 12:00 en Slab I

Clases

Material Adicional

  • Manual de referencia Zybo

  • 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.

Bibliografía

  • 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)