SISTEMAS EMBEBIDOS OBJETIVO DEL CURSO:
Diseñar e implementar sistemas digitales utilizando técnicas modernas: Un Lenguaje de Descripción de Hardware y Dispositivos Programables a si mismo se comprenda el diseño de sistemas mínimos, y se puedan sintetizar en un FPGA.
En este curso-taller se aborda uno de los más extendidos lenguajes de descripción de hardware, el VHDL, sus utilidades y aplicaciones y las herramientas y metodologías para sintetizar sistemas digitales en FPGAs, que son los dispositivos programables más ampliamente usados para generar tanto prototipos como sistemas finales de aplicación. El aprendizaje se refuerza con simulaciones y prácticas. También se aborda el diseño de sistemas mínimos basados en un microprocesador, y la interconexión de éstos con otros bloques digitales diseñados en VHDL, y sintetizables en un FPGA. Se usan microprocesadores definidos en software y ambientes de desarrollo integrado. RESUMEN:
UNIDAD 1 Lenguajes de descripción de hardware
1.1 ¿Qué son los HDLs? 1.2 Diferencias con los Lenguajes de Software 1.3 Ejemplos de HDLs 1.4 VHDL 1.5 Breve Reseña Histórica de VHDL 1.6 Diseño Digital con VHDL 1.7 Metodologías de Diseño utilizando VHDL 1.7.1 Funcional 1.7.2 Arquitectural 1.7.3 Físico
PROGRAMA DEL CURSO
PROGRAMA DEL CURSO UNIDAD 2: Dispositivos Lógicos Programables
2.1 Lógica Programable 2.2 SPLDs 2.2.1 Características 2.2.2 Arquitectura 2.3 CPLDs 2.3.1 Características 2.3.2 Arquitectura 2.4 FPGAs 2.4.1 Características 2.4.2 Aplicaciones y ventajas 2.4.3 Diferentes fabricantes de FPGAs 2.4.4 Arquitectura de los FPGAs de Xilinx 2.4.4.1 Bloque Lógico Configurable (CLB) Bloque de Entrada-Salida (IOB) Matriz de Interconexiones
PROGRAMA DEL CURSO UNIDAD 3: VHDL
3.1 Estructura de una descripción en VHDL 3.1.1 Entidad 3.1.2 Arquitectura 3.1.2.1 Descripción Comportamental 3.1.2.2 Descripción Flujo de Datos 3.1.2.3 Descripción Estructural 3.2 Elementos Léxicos 3.3 Constantes y variables 3.4 Tipos de Datos Escalares 3.5 Datos del tipo Arreglo 3.6 Estructuras de Ejecución Concurrente 3.7 Estructuras secuenciales 3.8 Descripciones Comportamentales 3.9 Descripciones Estructurales 3.10 Bibliotecas 3.11 Subprogramas 3.11.1 Funciones 3.11.2 Procedimientos 3.12 Paquetes
PROGRAMA DEL CURSO UNIDAD 4: Diseño con VHDL
4.1 Arquitecturas de disponibles programables 4.2 Sistemas combinacionales 4.3 Sistemas secuenciales 4.4 Maquinas de Estado 4.7 Aplicaciones UNIDAD 5: Procesadores Embebidos de 8 bits
5.1 Introducción 5.2 Arquitectura Picoblaze 5.3 Programación en ensamblador Picoblaze 5.4 Manejo de interrupciones
Lenguajes de descripción de hardware (HDLs) Estos lenguajes fueron desarrollados para hacer frente a la creciente complejidad de los diseños. Se puede hacer una analogía con los que se pueden llamar lenguajes de descripción de software. Los HDLs son usados para modelar la arquitectura y comportamiento de sistemas electrónicos discretos. Se utilizan en la fase de diseño Necesidad de Simulador lógico Herramienta necesaria para reproducir el comportamiento del sistema modelado Permite la verificación del sistema diseñado. Actualmente existen herramientas software que permiten pasar de dichas descripciones a diseños a nivel de compuertas: SÍNTESIS
Dominios descriptivos y niveles de abstracción Dominios descriptivos: Comportamiento Se realiza la función sin información de cómo se hace Estructural Los bloques se conectan mediante interconexiones (netlist o esquemas) Físico Localización y propiedades físicas reales
Dominios descriptivos y niveles de abstracción Niveles de abstracción: Circuito Valores continuos, todo es electrónica, tiempo continuo Lógico Valores lógicos (T,F), sólo computación, tiempo continuo RT (RegisterTransfer) Palabras con valores discretos, control y procesamiento, tiempo discreto Algorítmico Estructuras abstractas, dependencias en lugar de tiempo Sistema Relaciones entre subsistemas, síncronos y protocolos
Dominios descriptivos y niveles de abstracción Medidas:
Circuito Tiempo de subida y bajada, consumos área Lógico Tiempo de conmutación, skew, área equivalente RT Tiempo de ciclo, márgenes, compuertas equivalentes Algorítmico Latencia, cadencia de datos, número de módulos Sistema Ancho de banda, MIPS.
Dominios descriptivos y niveles de abstracción Transiciones:
Síntesis/Análisis Comportamiento ? estructural
Optimización Mejora de una descripción sin variar el nivel de abstracción
Generación/Extracción Estructural ? físico
Refinamiento/Abstracción Bajar/Subir el nivel de abstracción en el mismo dominio
Niveles de diseño y dominios de representación
VHDL: VHSIC, Hardware Description Language VHSIC: Very High Speed Integrated Circuits
Lenguajes de descripción de hardware (HDLs). Síntesis lógica Síntesis lógica: Convierte una descripción de un sistema digital mediante un HDL en una implementación tecnologíca.
Descripción HDL: library ieee; use ieee.std_logic_1164.all;
entity puertas is port ( A, B, C : in std_logic; Y: out std_logic ); end puertas;
ARCHITECTURE a of puertas is
begin
Y