diseño de dsp en fpga con system generator y...

21
Diseño de DSP en FPGA con System Generator y MATLab Jesús Barba Romero (30/05/2012)

Upload: others

Post on 23-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

Diseño de DSP en FPGA con System Generator y MATLab

Jesús Barba Romero (30/05/2012)

Page 2: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 3: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 4: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

4

SYSTEM GENERATOR Y SIMULINK

DSP en FPGA con SysGen y MATLab

Page 5: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 6: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 7: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 8: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

8

Flujo de diseño

DSP en FPGA con SysGen y MATLab

Page 9: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

9

CREAR UN DSP CON SIMULINK

DSP en FPGA con SysGen y MATLab

Page 10: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

10

Sistema de ejemplo

DSP en FPGA con SysGen y MATLab

z(t) = 5x(t) + 3x(t-1)

Page 11: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

11

Modelo Symulink

DSP en FPGA con SysGen y MATLab

Page 12: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

12

CREAR UN DSP CON SYSTEM GENERATOR

DSP en FPGA con SysGen y MATLab

Page 13: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 14: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 15: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

15

Modelo SysGen

DSP en FPGA con SysGen y MATLab

Page 16: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 17: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

17

CO-SIMULACIÓN CON SYSGEN

DSP en FPGA con SysGen y MATLab

Page 18: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 19: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 20: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

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

Page 21: Diseño de DSP en FPGA con System Generator y MATLabarco.esi.uclm.es/public/conferencias/2012-05-30_JBarba.pdf · MATLAB (en este caso R2008). Una placa de prototipado con la interfaz

21

PREGUNTAS

Muchas gracias

DSP en FPGA con SysGen y MATLab