diseño de dsp en fpga con system generator y...
TRANSCRIPT
Diseño de DSP en FPGA con System Generator y MATLab
Jesús Barba Romero (30/05/2012)
2
Agenda
Introducción a System Generator y MATLab
Creación de un sistema DSP con Simulink
Creación de un sistema DSP con SystemGenerator
Configuración del entorno para co-simulación sobre una FPGA
DSP en FPGA con SysGen y MATLab
3
Requisitos
Entorno ISE instalado y configurado correctamente. ¿Imposible? :-S
La versión de System Generator correspondiente.
MATLAB (en este caso R2008).
Una placa de prototipado con la interfaz de programación bien
configurada (cable, drivers, etc.) en el PC de desarrollo.
Tener ciertas nociones de Simulink, flujo de diseño de sistemas en
FPGAs…
DSP en FPGA con SysGen y MATLab
4
SYSTEM GENERATOR Y SIMULINK
DSP en FPGA con SysGen y MATLab
5
System Generator
Permite la utilización de Simulink para el diseño de sistemas (DSP) en
FPGAs.
Los diseños consisten en la composición de bloques funcionales
provistos por Xilinx en una librería.
Automatiza la generación de la implementación, de una manera óptima y
sencilla (uso de CoreGen).
DSP en FPGA con SysGen y MATLab
6
Symulink
Entorno software para MATLAB.
Alto nivel de abstracción: uso de bloques para representar operaciones.
Xilink DSP Blockset es una librería de Simulink
DSP en FPGA con SysGen y MATLab
7
Xilinx DSP Blockset
Más de 90 bloques funcionales
disponibles.
Alto nivel de abstracción:
Independientes de la tecnología de
la FPGA (migración de sistemas).
Algunos son generados utilizando la
herramienta CoreGen como
backend.
DSP en FPGA con SysGen y MATLab
8
Flujo de diseño
DSP en FPGA con SysGen y MATLab
9
CREAR UN DSP CON SIMULINK
DSP en FPGA con SysGen y MATLab
10
Sistema de ejemplo
DSP en FPGA con SysGen y MATLab
z(t) = 5x(t) + 3x(t-1)
11
Modelo Symulink
DSP en FPGA con SysGen y MATLab
12
CREAR UN DSP CON SYSTEM GENERATOR
DSP en FPGA con SysGen y MATLab
13
Definir los límites del sistema
La frontera entre la FPGA y el resto
del mundo se define con los bloques
Gateway In y Gateway Out.
Gateway In: convierte las entradas en
formato coma flotante a una
representación en punto fijo.
Gateway Out: convierte la salida de la
FPGA a doble precisión.
DSP en FPGA con SysGen y MATLab
14
System Generator Token
Cada diseño debe incluirlo.
En él configuramos las opciones generales de generación de bitstream
para la FPGA:
- Dispositivo de implmentación.
- VHDL/Verilog.
- Requisitos temporales y de rendimiento.
- Periodo de simulación (debe coincidir con el establecido para Symulink)
DSP en FPGA con SysGen y MATLab
15
Modelo SysGen
DSP en FPGA con SysGen y MATLab
16
Simulación con System Generator y Simulink
No hay que hacer cambios
en los modelos. .
Tanto verificaciones
funcionales como
temporales.
Tan sencillo como pulsar el
botón “Play”.
Tip: Observar el efecto de la
discretización y
cuantización de la señal.
DSP en FPGA con SysGen y MATLab
17
CO-SIMULACIÓN CON SYSGEN
DSP en FPGA con SysGen y MATLab
18
Generación de un subsistema y síntesis de la solución
Seleccionar la parte del sistema que va a ser implementada en la FPGA.
Crear un subsistema haciendo click en la opción correspondiente dentro
del menú contextual que aparece.
DSP en FPGA con SysGen y MATLab
19
Generación del código RTL
Configuración de la síntesis: a través
del bloque System Generator
Elección de una de las plataformas
pre-cargas
Creación de una nueva plataforma:
- Utilizar terceras herramientas como
IMPACT para obtener los datos
requeridos.
- Consejo: guarda una copia del fichero de
configuración una vez hayas completado
y testeado la nueva plataforma (se te
olvidan parámetros)
Click en “Generar”
DSP en FPGA con SysGen y MATLab
20
Hardware-in-the-loop
Una vez completado la generación de
la netlist, se obtiene una librería con
el bloque para co-simulación.
Sustituir o crear un nuevo modelo de
simulación utilizando el nuevo bloque.
El proceso de co-simulación sucede
de manera transparente cuando le
damos al botón de simulación.
DSP en FPGA con SysGen y MATLab
21
PREGUNTAS
Muchas gracias
DSP en FPGA con SysGen y MATLab