Está en la página 1de 10

Diseo e implementacin de filtros digitales usando los mdulos

DSP48 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 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.

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.

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
8. Recursos Disponibles
a. Recursos Institucionales

Cesar Eduardo Gambo Leal


Estudiante Ingeniera Mecatrnica
Universidad Santo Toms
Ponente Proyecto

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

Vr. Parcial

Fotocopias
Cd's
Libros

200.000
30.000
150.000

Impresiones ( Papel, Tinta )

350.000

Subtotal

730.000

MANO DE OBRA
Descripcin
Tiempo de Trabajo

Salario/mensual

Vr. Parcial

497.000

1.988.000

Subtotal

1.988.000

OTROS CONCEPTOS
Descripcin

Vr. Mensual

Vr. Parcial

Internet y Energa
Transporte Personal

50.000
30.000

150.000
90.000

Almuerzos

60.000

180.000

Subtotal
Costo Directo
Imprevistos (10%)
Valor Total

420.000
3.138.000
313.800
3.451.800

10. Cronograma de Actividades


N

ACTIVIDAD

Implementar en MATLAB los algoritmos


para el banco de filtros digitales

2
3

5
6
7
8

MES 1

MES 2

MES 3

MES 4

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

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 (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

DSP48

DSP48

DSP48

Beneficios

Multiplicador

18x18

25x18

18x18

Se reducen los recursos necesarios

Pre-sumador

no

no

si

para algoritmos de DSP


Reduccin del camino critico para

Entrada en cascada

filtros FIR
Permite conectar en cascada los

Salida en cascada

si

si

si

mdulos para filtros grandes


Permite conectar en cascada los
mdulos para filtros grandes

Entrada dedicada C

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