Proyecto Fpga Dsp

13
Diseño e implementación de filtros digitales usando los módulos DSP48 para FPGAs SPARTAN 3A

description

Proyecto Fpga Dsp

Transcript of Proyecto Fpga Dsp

Diseo e implementacin de filtros digitales usando los mdulos

Diseo e implementacin de filtros digitales usando los mdulosDSP48 para FPGAs SPARTAN 3A

1. Titulo del Proyecto

Diseo e implementacin de filtros digitales usando los mdulos DSP48 para FPGAs SPARTAN 3

2. Formulacin y Justificacin del Problema

La manipulacin de las caractersticas de una seal de sonido en cualquier forma recibe el nombre de procesamiento de audio. Las tcnicas de procesamiento de audio apuntan a corregir deficiencias, mejorar la audicin o crear efectos especiales.

Las aplicaciones en procesamiento y efectos de audio han tenido una gran aceptacin en los ltimos tiempos. Son de uso extendido en la industria musical, en el cine y en aplicaciones multimediales. Los profesionales de la msica los emplean para imprimir variedad y originalidad en sus composiciones musicales. Los ingenieros de sonido los utilizan para mejorar la calidad de producciones discogrficas y cinematogrficas al igual que en eventos en vivo como conciertos y obras.

Existe una gran variedad de filtros y efectos de audio que en trminos generales consisten en alterar el volumen de la seal, en alterar el espectro de frecuencias, en utilizar retardos variables en el tiempo, en modificar formas de onda, entre otros.

Las aplicaciones en procesamiento de audio originalmente fueron desarrolladas con tcnicas analgicas con sus respectivas limitaciones, pero con el advenimiento de la tecnologa digital, las potencialidades se incrementaron y el tamao de los sistemas se redujeron, sin embargo surgieron exigencias de capacidad en almacenamiento y procesamiento en tiempo real.

Para dar solucin a los crecientes requerimientos en cuanto a velocidad de procesamiento necesarios para las aplicaciones de audio en tiempo real inicialmente se implementaron aplicaciones basadas en procesadores DSP que se han hecho muy populares, mas recientemente con el veloz incremento en la capacidad de integracin de los dispositivos lgicos programables y la aparicin de CPLDs y FPGAs de bajo costo, cada da se hacen mas comunes el desarrollo de aplicaciones con estos ltimos dispositivos.

3. Objetivos

a. Objetivo General Implementar un sistema de procesamiento de audio de alta calidad para aplicaciones en tiempo real basado en FPGA.

b. Objetivos Especficos

Aplicar las diferentes tcnicas y algoritmos utilizados en el procesamiento y filtrado de seales de audio. Implementar los algoritmos de filtrado y procesado de audio utilizando en mdulo DSP48 de la FPGA. Disear un sistema de procesamiento digital que permita el procesamiento paralelo de ms de un filtro y permita el control de los parmetros de cada uno en tiempo real.

6. Diseo Metodolgico Preliminar

Fase de DesarrolloPlanteado el objetivo principal y apoyndose en el sistema de desarrollo SPARTAN 3A DSP, se plantea la descripcin funcional en MATLAB de cada uno de los filtros a implementar, teniendo en cuenta los efectos de discretizacin y cuantificacin para efectos comparativos y de verificacin.

Pruebas ExperimentalesSe proceder a implementar el banco de filtros en la FPGA empleando los mdulos DSP48, se generaran los vectores de prueba para efectos de simulacin del diseo, de acuerdo a los resultados obtenidos se efectuar a la depuracin modular de la descripcin de hardware para proceder a la sntesis en la FPGA y proceder a la verificacin teniendo en cuenta los retardos debidos al mapeo tecnolgico.

Elaboracin de memorias, articulo y gua de laboratorio Esta parte del proyecto requiere de un cuidado especial debido a que el documento est dirigido tanto a personas con dominio en el campo de diseo digital y dispositivos lgicos programables tanto como para aquellas que apenas comienzan este apasionante campo. y podran emplear este documento para su aprendizaje. La documentacin ser hecha de tal forma que cumpla con todas las normas establecidas por la institucin pero igualmente que sea de fcil acceso intelectual para el resto de la comunidad. Estas memorias se irn desarrollando conforme transcurre la fase de desarrollo del proyecto y sern sometidas a constante revisin por el director del proyecto para una rpida construccin de las memorias. Igualmente se elaborar un artculo que referencia los alcances del proyecto y las fortalezas que tiene el mismo para futuros trabajos de grado. Finalmente se realizara una gua prctica de laboratorio ilustrando el diseo e implementacin en FPGA de una aplicacin de procesamiento digital de seales.

7. Nombre de las Personas que participan en el ProyectoGiovanni Francisco Manotas R.Ingeniero ElectrnicoDocente Universidad Santo TomsDirector del ProyectoCesar Eduardo Gambo LealEstudiante Ingeniera MecatrnicaUniversidad Santo TomsPonente Proyecto

8. Recursos Disponiblesa. Recursos InstitucionalesLa Universidad Santo Toms cuenta con los siguientes recursos aptos para el desarrollo del proyecto planteado: Osciloscopio Digital Generador de seales arbitrario. Software Xilinx ISE 11.1 BibliografaAdicionalmente el estudiante cuenta con:. la tarjeta de desarrollo SPARTAN 3 DSP Starter Kit Bibliografa

9. PresupuestoMATERIALES

DescripcinVr. Parcial

Fotocopias200.000

Cd's30.000

Libros150.000

Impresiones ( Papel, Tinta )350.000

Subtotal730.000

MANO DE OBRA

DescripcinSalario/mensualVr. Parcial

Tiempo de Trabajo497.0001.988.000

Subtotal1.988.000

OTROS CONCEPTOS

DescripcinVr. MensualVr. Parcial

Internet y Energa50.000150.000

Transporte Personal30.00090.000

Almuerzos60.000180.000

Subtotal420.000

Costo Directo3.138.000

Imprevistos (10%)313.800

Valor Total3.451.800

10. Cronograma de ActividadesNACTIVIDADMES 1MES 2MES 3MES 4

1Implementar en MATLAB los algoritmos para el banco de filtros digitales

2Obtencin de los vectores de prueba para propsitos de verificacin

3Analizar y estudiar las caractersticas y potencialidades del modulo DSP48 de la FPGA

4Realizacin de descripciones de hardware de prueba para verificar el funcionamiento del modulo DSP48 de la FPGA

5Efectuar pruebas de simulacin y en hardware del banco de filtros digitales implementado en la FPGA

6Redactar un artculo sobre el proyecto y una gua de laboratorio.

7Elaborar las conclusiones del trabajo y elaborar las memorias del proyecto.

8Sustentacin del Trabajo

SEMANAS LABORALES

11. Bibliografa

Uwe Meyer-Baese. Digital Signal Processing with Field Programmable Gate Arrays. Springer; 3rd Edition. 2007.

Roger Woods (Editor), John Mcallister, Richard Turner, Ying Yi, Gaye Lightbody. FPGA-based Implementation of Signal Processing Systems. Wiley. 2008.

Pong P. Chu. FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version. Wiley-Interscience. 2008.

Peter Wilson. Design Recipes for FPGAs: Using Verilog and VHDL. Newnes. 2007

Mdulo DSP48

En este captulo se presenta el mdulo DSP48A de la familia Spartan-3A-DSP de Xilinx. En la seccin x.1 se estudia el origen de dicho mdulo, se muestra la arquitectura interna simplificada del mismo y se hace una comparacin con otros mdulos de Xilinx. A continuacin se describen las FPGAs comerciales que utilizan el DSP48A y una tarjeta de desarrollo para aplicaciones que requieren procesamiento de seales. La seccin 2 estudia el mdulo DSP48A por dentro, sus puertos disponibles y los diferentes modos de operacin que dispone. Una de las secciones ms interesantes, la nmero 4, describe las diferentes aplicaciones de dicho mdulo. La seccin 3 describe las maneras de instanciar el componente DSP48A.

1. Origen del DSP48A

Los algoritmos de DSP estn basados en combinaciones de sumas y multiplicaciones (MAC, multiply & acumulates). Las primeras FPGAs implementaban estos algoritmos mediante los multiplicadores basados en las LUTs (Look Up-Tables) que incorporaban los CLBs (Configurable Logic Blocks). En la figura 1 se puede ver la evolucin de los mdulos de DSP de las familias de FPGA de Xilinx (Virtex y Spartan). Hace aos Xilinx sac al mercado la familia Virtex-II que incorpora un multiplicador dedicado de 18 bits con salida de 36 bits llamado MULT18x18S (ver figura 2). Esta combinacin incrementa notablemente la velocidad de las multiplicaciones comparada con la familia anterior basada en LUTs.

Figura 1: Evolucin de los mdulos de DSP en las distintas familias de FPGAs de Xilinx.

Figura 2: Esquema simplificado del Multiplicador de 18x18 bits que incorpora la Virtex-II

La familias de bajo coste de Spartan, 3A y 3E, se basan en las primeras versiones de la Virtex, e incorporan multiplicadores dedicados de 18 bits con resultados de 36 bits llamados MULT18x18SIO (ver figura 3). Puede alcanzar una frecuencia de trabajo superior a 240 Mhz. La Virtex-4 incorpora un nuevo bloque de DSP que es capaz de multiplicar y sumar en el mismo mdulo se le llam DSP48 debido a su precisin de salida de 48 bits. Adems del sumador, se podan realizar restas y operaciones de rotacin para facilitar funciones de escalado de los resultados. Se incorporaron registros intercalados entre las operaciones para implementar una estructura pipeline y lograr una frecuencia de trabajo superior a 400 Mhz.

Figura 3: Esquema simplificado del Multiplicador de 18x18 bits que incorpora la Spartan-3A/3E

Con la llegada de la Virtex-5 se introdujo el mdulo DSP48E (Enhanced), que est basado en el DSP48 de la Virtex-4. El bloque sumador se modific para convertirse en un bloque multifuncin ALU; entre otras cosas, se soporta deteccin de saturacin, overflow y under-flow. El comportamiento de sta ALU se puede modificar en tiempo de ejecucin mediante cdigos a la entrada del mismo. El DSP48E puede alcanzar frecuencias de trabajo superiores a 450 Mhz. La familia Spartan 3A-DSP incorpora el mdulo DSP48A, que est basado en el DSP48 de la Virtex-4. El mdulo DSP48A soporta completamente las operaciones MAC (pre-adder, multiplier, add-accumulate) (ver figura 4). Estos mdulos de DSP dedicados tienen la mejor relacin costo/MAC de las FPGAs. En la tabla 1 puede verse una comparativa entre los diferentes mdulos DSP48 de las familias de Xilinx.

Figura 6: Esquema simplificado del DSP48A que incorpora la Spartan 3A-DSP

FuncinDSP48DSP48EDSP48ABeneficios

Multiplicador18x1825x1818x18Se reducen los recursos necesarios para algoritmos de DSP

Pre-sumadornonosiReduccin del camino critico para filtros FIR

Entrada en cascada121Permite conectar en cascada los mdulos para filtros grandes

Salida en cascadasisisiPermite conectar en cascada los mdulos para filtros grandes

Entrada dedicada C

http://www.xilinx.com/technology/dsp/xtremedsp.htm