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