You are on page 1of 10

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

Csar Eduardo Gamboa Leal

Trabajo de Grado presentado a la Divisin de Ingenieras para optar el ttulo de Ingeniero Mecatrnica

Director de Proyecto Ing. Giovanni Francisco Manotas Rodrguez

UNIVERSIDAD SANTO TOMAS FACULTAD DE INGENIERIA MECATRONICA BUCARAMANGA 2010

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 y Implementar un sistema de procesamiento de audio de alta calidad para aplicaciones en tiempo real basado en FPGA. b. Objetivos Especficos y Aplicar las diferentes tcnicas y algoritmos utilizados en el procesamiento y filtrado de seales de audio. y Implementar los algoritmos de filtrado y procesado de audio utilizando en mdulo DSP48 de la FPGA. y 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

y Fase de Desarrollo Planteado 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.

y Pruebas Experimentales Se 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.

y 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 Proyecto Giovanni Francisco Manotas R. Ingeniero Electrnico Docente Universidad Santo Toms Director del Proyecto Cesar Eduardo Gambo Leal Estudiante Ingeniera Mecatrnica Universidad Santo Toms Ponente Proyecto

8. Recursos Disponibles a. Recursos Institucionales La 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 Bibliografa Adicionalmente el estudiante cuenta con:. la tarjeta de desarrollo SPARTAN 3 DSP Starter Kit Bibliografa 9. Presupuesto
MATERIALES Descripcin Fotocopias Cd's Libros Impresiones ( Papel, Tinta ) Subtotal MANO DE OBRA Descripcin Tiempo de Trabajo Salario/mensual 497.000 Subtotal OTROS CONCEPTOS Descripcin Internet y Energa Transporte Personal Almuerzos Vr. Mensual 50.000 30.000 60.000 Subtotal Costo Directo Imprevistos (10%) Vr. Parcial 150.000 90.000 180.000 420.000 3.138.000 313.800 Vr. Parcial 1.988.000 1.988.000 Vr. Parcial 200.000 30.000 150.000 350.000 730.000

Valor Total

3.451.800

10. Cronograma de Actividades


N 1 ACTIVIDAD MES 1 MES 2 MES 3 MES 4

Implementar en MATLAB los algoritmos para el banco de filtros digitales Obtencin de los vectores de prueba para propsitos de verificacin Analizar y estudiar las caractersticas y potencialidades del modulo DSP48 de la FPGA Realizacin de descripciones de hardware de prueba para verificar el funcionamiento del modulo DSP48 de la FPGA Efectuar pruebas de simulacin y en hardware del banco de filtros digitales implementado en la FPGA Redactar un artculo sobre el proyecto y una gua de laboratorio. Elaborar las conclusiones del trabajo y elaborar las memorias del proyecto. Sustentacin del Trabajo
SEMANAS LABORALES

5 6 7 8

11. Bibliografa y 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. WileyInterscience. 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 (preadder, 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

Funcin
Multiplicador

DSP48
18x18

DSP48E DSP48A Beneficios


25x18 18x18 Se reducen los recursos necesarios para algoritmos de DSP

Pre-sumador

no

no

si

Reduccin del camino critico para filtros FIR

Entrada en cascada

Permite conectar en cascada los mdulos para filtros grandes

Salida en cascada

si

si

si

Permite conectar en cascada los mdulos para filtros grandes

Entrada dedicada C

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