introducciÓn al diseÑo fpga-dspindico.ictp.it/event/a11204/session/8/contribution/5/...flujo de...

50
INTRODUCCIÓN AL DISEÑO FPGA-DSP Cristian Sisterna, MSc UNSJ-C7T

Upload: others

Post on 31-Dec-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

INTRODUCCIÓN AL DISEÑOFPGA-DSP

Cristian Sisterna, MScUNSJ-C7T

Page 2: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

AGENDA

Introducción

Bloques DSPs en Xilinx FPGAs

MatLab/Simulink

Simulink

Xilinx System Generator

Ejemplo de Diseño con SysGen

C. Sisterna

2

ICTP 2012

Page 3: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

ALGORITMOS DSPS

C. Sisterna

3

ICTP 2012

Page 4: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

ALGORITMOS DSPS–DÓNDE IMPLEMENTARLOS?

C. Sisterna

4

ICTP 2012

AlgoritmoDSP

ProcesadoresDSP (AMD, TI) FPGAs

Simulink +FPGA

Page 5: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

FLUJO DE DISEÑO SIMULINK-FPGA

C. Sisterna

5

ICTP 2012

Desarrollo en Simulink

Bloques DSP SysGen

Generación del VHDL o Verilog

ISE (Xilinx) Síntesis y P&R

Download alFPGA

Generación de Test Bench

VerificaciónModelSim

Xlx DSP Toolset

Xlx CoreGen

SystemGenerator

SimulaciónEntorno

ModelSim/ISE

EntornoISE

EntornoMatLab

Simulación en Simulink (opcional)

Page 6: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

DSP BLOCKS

Xilinx FPGAs

Page 7: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

XILINX FPGA – BLOQUE DSP48

Desde un punto de vista simple el DSP48 puede multiplicar dos números de 18 bits (18x18) y acumular el resultado en un ACC de 48 bits. Todo expresado en complemento a dos.

C. Sisterna

7

ICTP 2012

Nota: Dos DSP48 slices componen lo que se llama un Xtreme DSP Tile

Page 8: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

XILINX DSP48 SLICE

C. Sisterna

8

ICTP 2012

Page 9: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

XILINX DSP48 TILE

C. Sisterna

9

ICTP 2012

Un DSP48 Tile consiste de dos DSP48

Slices

Page 10: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

BLOQUE DSP48 - REGISTROS

Existen diferentes opciones del uso de los registros disponibles en el DSP48

C. Sisterna

10

ICTP 2012

Los registros pueden tener n = 0, 1 o 2 para las entradas del multiplicador. Los registros pueden tener m = 0 o 1.

Page 11: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

XILINX FPGA – BLOQUE DSP48

El bloque DSP48 es parte del los bloques prediseñados ASMBLs (Application Specific Modular Blocks).

El bloque DSP48 casi no usa el ruteo del FPGA, solo entrada y salidas. Ello implica: bajo consumo de potencia, muy alta frecuencia de trabajo y una implementación en silicio muy eficiente.

Bloques DSP48E pueden fácilmente conectarse con sus bloques DSP48 vecinos. Pudiendo formar una cascada de bloques DSP48.

C. Sisterna

11

ICTP 2012

Page 12: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

DSP48E – VIRTEX 5/6

C. Sisterna

12

ICTP 2012

Page 13: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

DSP48 – FPGA VISTA INTERNA 1

C. Sisterna

13

ICTP 2012

BloquesDSP48

CLB

Page 14: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

DSP48 – FPGA VISTA INTERNA 2

C. Sisterna

14

ICTP 2012

Page 15: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

DSP MAC LIMITES

• Procesamiento sequencialprocessing limita max. frec. dato salida– MAC tiempo compartida– Reloj de alta frecuencia

complica la performance• Filtro FIR de 256 Tap

– 256 multiplica y acumula(MAC) operaciones por datomuestreado

– Una salida cada 256 ciclos de reloj

RegData In

Loop Algorithm256 times

Data Out

MAC unit

Page 16: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

FPGA MACS

• Procesamiento paralelomaximiza frecuencia datode salida– Soporta cualquier nivel de

paralelismo• Filtro FIR de 256 Taps

– 256 multiplica y acumula(MAC) operaciones pordato muestreado

– One output every clock cycle

• Flexible architecture– Bloques DSP, Bloques de

Memoria, Registros, Controladores de Reloj, etc.

Data Out

....C0 C1 C2 C255

Reg0 Reg1 Reg2 Reg255Data In

All 256 MAC operations in one clock cycle

Page 17: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

RAZÓN 1

Data OutData Out

MAC UnitMAC UnitCoeficientesCoeficientes

ProcesadorProcesador DSP DSP --SecuencialSecuencial

1 GHz1 GHz256 clock cycles256 clock cycles = 4 MSPS= 4 MSPS

256 256 ciclosciclos de de

relojreloj

Data InData In

XX

++RegReg

500 MHz500 MHz1 clock cycle1 clock cycle

= 500 MSPS= 500 MSPS

Data OutData Out

FPGA FPGA –– ImplementaciónImplementaciónen en ParaleloParalelo

256 256 operacionesoperacionesen 1 en 1 ciclociclo de de relojreloj

Data InData In

XX

++

C0C0 C0C0XXC1C1 XXC2C2 XXC3C3 XXC255C255…

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Page 18: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

RAZÓN 2

LPF

Filtro Multi Canal

80MHzSamples

ch1ch2ch3ch4

LPF

LPF

LPF

LPF

20MHzSamples

Page 19: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

RAZÓN 3

×

×

×

× +

+

+

+

+

+ ×

+

+D Q

×

×

+

+

+

+D Q

Parallel Semi-Parallel

Serial

Optimización?Velocidad Area

Page 20: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

IMPORTANCIA BLOQUE DSP EN FPGA

RuteoRuteo y y LocaciónLocación puedepuedereducirreducir PerformancePerformance

MultiplicaciónMultiplicación y Suma y Suma ParalelaParalela en FPGA sin en FPGA sin BloqueBloque DSPDSP

Data InData In

XX

++

C0C0 C0C0XXC1C1 XXC2C2 XXC3C3

++++

XXC4C4 C0C0XXC5C5 XXC6C6 XXC7C7 XXC30C30 XXC31C31

++++ ++++

Data OutData Out

++++Sumadores

Lóógica

SumadoresImplementados en Lóógica

LatenciaVariable

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Page 21: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

IMPORTANCIA BLOQUE DSP EN FPGA

Data InData In

XX

++

XX

++

XX

++

Data OutData Out

XX

++

XX

++

XX

++

XX

++

XX

++

XX

++

C0C0 C1C1 C2C2 C3C3 C5C5 C6C6 C7C7 C30C30 C31C31C4C4 XX

++

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

Reg

MultiplicaciónMultiplicación y Suma y Suma ParalelaParalela en FPGA con en FPGA con BloqueBloque DSPDSP

Page 22: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

MATLAB - SIMULINK

Introducción

Page 23: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

MATLAB - SIMULINK

El entorno MatLab/Simulik es un entorno gráfico para la modelación y simulación de sistemas dinámicos.

Soporta: Sistemas lineales y no lineales, modelados en tiempo

continuo, tiempo discreto (muestras) o un híbrido de los dos.

C. Sisterna

23

ICTP 2012

Page 24: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

MATLAB – SIMULINK (CONT.)

Editor gráfico de bloques Simulador controlado por evento(s) (event driven) Puede modelar/simular paralelismo Una extensa librería de funciones con parámetros

variables:Bloques matemáticos de SimulinkBloques de fuentes de señal y absorción de señalBloques: DSPsComunicaciones

C. Sisterna

24

ICTP 2012

Page 25: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSTEM GENERATOR

Xilinx DSP Toolkit

Page 26: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSTEM GENERATOR - SIMULINK

Flujo de diseño integrado a Simulink, generando directamente el archivo de programación .bit

Integra: MatLab, Simulink HDL Síntesis Librerías de DSP Herramientas de implementación del FPGA Simulación en doble precisión y punto fijo

Abstracción Aritmética Punto-fijo arbitrario, incluyendo cuantización y overflow

System Generator es un ‘Blockset’ dentro del entorno Simulink

C. Sisterna

26

ICTP 2012

Page 27: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSTEM GENERATOR - SIMULINK

C. Sisterna

27

ICTP 2012

Page 28: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSTEM GENERATOR - SIMULINK

Librería de funciones:

C. Sisterna

28

ICTP 2012

Page 29: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN: PRINCIPALES BLOQUES

Elementos básicos: contadores, retardos, lógica binaria, etc.

Comunicaciones: ECC bloques, Viterbi, Reed Solomon, etc.

Tipo de Datos: convertir, rotar, concatenar, etc.

DSP: IIR, FIR, FFT, etc. Math: multiplicar, acumular,

invertir, contadores, etc. Memoria, dual port RAM, single

port RAM, ROM, FIFO. Tools: ModelSim, Estimador de

Recursos, SysGen Token

C. Sisterna

29

ICTP 2012

Page 30: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN-SIMULINK: GENERACIÓN ARCHIVOS

Generación del código VHDL y Verilog para: Virtex-7, Virtex-6, Virtex-5, Virtex-4, Spartan-7, Spartan-6,

Spartan-3E Mapeo y expansión del hardware respectivo a cada

bloque Preservación de la jerarquía del modelo una vez

generados los códigos VHDL y Verilog Utilización de IP cores de CoreGen Generación automática de:

Un proyecto ISE Archivo de restricciones (constraint file *.ucf) Archivo de simulación Test Bench y script *.do (ModelSim)

C. Sisterna

30

ICTP 2012

Page 31: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN – SIMULINK – E/S DEL FPGA

C. Sisterna

31

ICTP 2012

FPGA

Entrada al FPGA

Salida del FPGA

Page 32: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN IN/OUT

Simulink usa ‘double’ para representar números en simulación. A double es un número en punto flotante en complemento a dos de 64 bits.

TODOS los bloques de Xilinx usan representación en n-bits en punto fijo (complemento a dos es opcional).

Por ello se usa un bloque para la conversión de datos desde Simulink a un bloque de Xilinx, llamado Gateway In. Y otro bloque para la conversión desde un bloque de Xilinx a Simulink, llamado Gateway Out.

C. Sisterna

32

ICTP 2012

Page 33: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN: BLOQUE GATEWAY IN

Controla la conversión desde un número representado en double, entero o punto fijo a un número booleano de N-bits, que puede ser con signo (complemento a dos) o sin signo punto fijo (unsigned fixed-point)

Presenta la opción de manejar los extra bits durante la conversión

Este bloque define cuales van a ser las entradas del diseño codificado en HDL por SysGen

Define los estímulos en caso de que la opción de ‘Create Testbench’ haya sido seleccionada

C. Sisterna

33

ICTP 2012

Page 34: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN: BLOQUE GATEWAY IN

C. Sisterna

34

ICTP 2012

Page 35: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN: BLOQUE GATEWAY OUT

Convierte los datos de punto fijo de System Generator a dato doble de Simulink

Define cuales van a ser los puertos de salida del sistema codificado en HDL por System Generator

C. Sisterna

35

ICTP 2012

Page 36: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN: TIPOS DE DATOS

FIX: tipo de dato fijo, es un número representado en complemento a dos

UFIX: es un número representado sin signo

C. Sisterna

36

ICTP 2012

FIX UFIX

Page 37: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN: TIPOS DE DATOS

Boolean: pueda tomarvalores ‘1’ o ‘0’. Se usa paracontrolar señales comoLOAD, CS, RESET, etc.

C. Sisterna

37

ICTP 2012

Page 38: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN – EJEMPLO CONFIGURACION

C. Sisterna

38

ICTP 2012

Page 39: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

EJEMPLO DE DISEÑO

Flujo de Diseño Simulink/SysGen/ISE/ModelSim

Page 40: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

CREANDO UN DISEÑO CON SYSGEN

C. Sisterna

40

ICTP 2012

Page 41: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

CREANDO UN DISEÑO CON SYSGEN

C. Sisterna

41

ICTP 2012

Page 42: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

EJEMPLO DE DISEÑO: FIR

C. Sisterna 42

ICTP 2012

Gateway In/OUT: interface entre SysGen y Simulink

SimulinkFuente

de Senal

SimulinkGraficosde Senal

Lógica a implementar en el FPGA

Page 43: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SIMULACIÓN EN SIMULINK

C. Sisterna

43

ICTP 2012

Page 44: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

BLOQUE SYSTEM GENERATOR

C. Sisterna

44

ICTP 2012

Page 45: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

SYSGEN - ARCHIVOS GENERADOS

Archivos de Diseño

C. Sisterna

45

ICTP 2012

Archivos de Simulación

Archivos de Proyecto

.vhd o .v

.edn o .ngc

.xcf

.ise

.tcl

.do

.dat_tb.vhd o _tb.v

Page 46: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

PROYECTO FPGA CREADO POR SYSGEN

C. Sisterna

46

ICTP 2012

Page 47: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

VISTA DEL FIR IMPLEMENTADO EN EL FPGA

C. Sisterna

47

ICTP 2012

Page 48: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

FIR- SIMULACIÓN EN MODELSIM

C. Sisterna

48

ICTP 2012

Page 49: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

EJEMPLO DE DISEÑO

C. Sisterna

49

ICTP 2012

Page 50: INTRODUCCIÓN AL DISEÑO FPGA-DSPindico.ictp.it/event/a11204/session/8/contribution/5/...FLUJO DE DISEÑO SIMULINK-FPGA C. Sisterna 5 ICTP 2012 Desarrollo en Simulink Bloques DSP SysGen

C. Sisterna

50

ICTP 2012

Contacto:[email protected]@c7t-hdl.com

Mas información (notas de aplicación, notas técnicas, etc): http://www.c7t-hdl.com

Bloghttp://hdl-fpga.blogspot.com.ar/