Orientados a FPGAs
Jorge Arroyuelo
Mónia Arroyuelo
Alejandro Grosso
Departamentode InformátiaUniversidadNaional de San Luis
RepúbliaArgentina
{bjarroyu,mdarroyu,agrosso}unsl.edu.ar
Resumen
Losltrosdigitalessehanonvertidoenunadelasherramientasmásutilizadasdentrodel
Proesamien-to Digital de Señales. En losúltimos tiempossehan apoyado para su implementaión en dispositivos
lógios programables tales omo las FPGAs, debido a las ventajas que estos dispositivos ofreen. En
el presente artíulo, se propone un método de onstruión de ltros digitales orientados a estos
dis-positivos, on elobjetivo de reduirlaantidadde eldas lógias utilizadasen losmismos. Además se
presenta unaherramienta de software, laualpermiteobtener espeiaiones enVHDL
automátia-mente a partir de araterístias introduidas por el usuario, y que luego pueden ser sintetizadas de
manera diretamediante las herramientas de síntesis atuales.
Palabras laves: Filtros Digitales,FiltrosFIR,Filtros IIR, FPGA,VHDL.
Abstrat
DigitalsltershavebeameoneofthemostfrequentlyusedintheDigital SignalProessing;inthelast
yearstheprogrammablelogi deviessuhasFPGAshavebeenusedfortheir implementation,dueto
theadvantages thisdevies oers. Inthis artiule, we proposea onstrution method ofdigital lters
addressedtothisdevies,whihaimistoprodueahighredutioninthelogiellsutilization.Besides,
we present a software tool, whih allow to obtain automati VHDL speiations from partiular
haraterisitsdesired, andthenan besintetizedinastraightwaythrough theatuals sintesistools.
Enlosúltimostiemposlosltrosdigitalessehanonvertidoenunadelasherramientasmás
utiliza-dasdentrodelProesamiento DigitaldeSeñales (DSP)paradar soluiónaunporentajeonsiderable
de problemas de ingeniería. Estos son muy útiles en asos omo la eliminaión o reduión de ruido
e interferenias y la transformaión de la respuesta espetral de señales, entre otros. Su utilidad
re-perute en apliaiones tales omo la ompresión de informaión para la transmisión de datos y el
proesamiento deaudio yvideo.
El diseño de ltros seha apoyado en los dispositivos lógios programables, los uales han jugado
un papel muy importante en el montaje de los mismos, puesto que graias a ellos se ha logrado un
adeuado funionamiento en tiempo real.LasFPGAs (Field Programmable Gate Array) sonunos de
estosdispositivos,losualesposeenlaualidadprinipaldeserre-ongurables,loquepermiterealizar
ambios enlaarquitetura sinneesidadde produirvariaiones enelmontaje oenelsoftwarequese
está operando. También esposible implementar ltros en otros dispositivosprogramables tales omo
los CPLDs (Complex Programmable Logi Devie). Graias a lafailidad que sepresenta al montar
estosdiseños en los sistemas modernos y alpoderser diseñados e implementados en iruitos lógios
programablesomoFPGAsyCPLDs, losltrosdigitalesgozan hoyendíade unagran popularidady
un extendidouso.
Un ltro es por lo general implementado mediante el uso de iruitos multipliadores, los uales
sonostososentérminosdeespaioenunaFPGA.Poresto,variasténiassonatualmenteutilizadas
parareduiralmínimoelhardwareneesariopara laimplementaión.Unaténiaqueesampliamente
utilizadaeslasustituióndelasarquiteturasaritmétiasparalelasporarquiteturas aritmétiasseries
a nivel de bits. Las arquiteturas serie proesan la entrada de a un únio bit por vez. La ventaja es
queunaúnialógiaesusadaparaomputartodoslosbitsdelaentrada,pudiendoreduirdemanera
onsiderable el hardware neesario. Por otro lado, esto produe un aumento en el tiempo de álulo,
ya queseneesitan
n
ilosde reloj paraproesaruna entradaden
bits.Una arquitetura para implementar ltros digitales utilizando aritmétia serie se presentó en [1℄.
En este artíulo se presenta omo onstruir ltros digitales de orden superior orientados a FPGAs
mediante el uso de estas arquiteturas serie, lo ual logra reduir onsiderablemente la antidad de
eldas lógias utilizadas, permitiendo onstruir ltros de más alto orden o tener otras apliaiones
orriendo simultáneamente sobre la FPGA. Otras arquiteturas pueden verse en [2 ℄,[3℄,[4 ℄,[5℄ y [6℄,
las uales poseen buen desempeño pero no reduen signiativamente la antidad de eldas lógias
utilizadasalserimplementadas.Ademásenesteartiulosemuestralaonstruióndeunaherramienta
de software que permite la generaión automátia de ltros en VHDL (VHSIC hardware desription
language),apartirdelaintroduióndeiertasaraterístias,laualpuedesersintetizadademanera
inmediata mediante elusode herramientasde síntesis.
2. ARQUITECTURA DE LOS FILTROS
Demanera general, unltro esaraterizado por lasiguiente euaión:
y
[
n
] =
a
0
x
[
n
] +
· · ·
+
a
p
x
[
n
−
p
] +
b
1
y
[
n
−
1] +
· · ·
+
b
p
y
[
n
−
p
]
(1)donde
p
es elorden del ltro, losa
p
's yb
p
's los oeientes,x
[
n
]
laentrada del ltro en el tiempon
ey
[
n
]
lasalidadel ltro enel tiempon
.En [7℄ semuestra omo losoperandos en omplemento ados (2'C)x
= (
x
(0)
.x
(
−
1)
. . . x
(
−
l)
)
2
ey
= (
y
(0)
.y
(
+
2
−1
serial
output
S
f
x(n−1)
x(n)
x(n−p)
y(n−1)
y(n−p)
(LUT)
ROM
Shift Reg
Shift Reg
Shift Reg
x(1)
x(p)
y(1)
Shift Reg
y(p)
serial input
Figura1: Arquitetura delltro digital utilizandoaritmétia serie.
términos de susbits individuales,obteniendo:
y
[
n
] =
a
0
−
x
[n]
(0)
+
−
1
X
j=
−
l
2
j
x
[n]
(j)
!
+
· · ·
+
a
p
−
x
[n
−
p]
(0)
+
−
1
X
j=
−
l
2
j
x
[n
−
p]
(j)
!
+
b
1
−
y
[n
−
1]
(0)
+
−
1
X
j=
−
l
2
j
y
[n
−
1]
(j)
!
+
· · ·
+
b
p
−
x
[n
−
p]
(0)
+
−
1
X
j=
−
l
2
j
y
[n
−
p]
(j)
!
(2)
Ahora, denimos unafunión
f
dela siguiente forma:f
(
s, . . . , u, v, . . . , w
) =
a
0
s
+
· · ·
+
a
p
u
+
b
1
v
+
· · ·
+
b
p
w
(3)donde
s, . . . , u, v, . . . , w
son variables de un únio bit ya
0
, . . . , a
p
, b
1
, . . . , b
p
oeientes onstantes. Usandoesta funión, podemos re-esribir laexpresión paray
[
n
]
dela euaión 1omo:y
[
n
] =
−
1
X
j=
−
l
2
j
f
(
x
[n]
(j)
, . . . , x
[n
−
p]
(j)
, y
[n
−
1]
(j)
, . . . , y
[n
−
p]
(j)
)
−
f
(
x
[n]
(0)
, . . . , x
[n
−
p]
(0)
, y
[n
−
1]
(0)
, . . . , y
[n
−
p]
(0)
)
(4)Lo ual da origen a la arquitetura mostrada en la gura 1, la ual se presento y analizo
de-talladamente en [1℄. Aquí, la funión
f
es representada omo una tabla pre-omputada (LUT) de((2
p
+ 1)
×
(
m
+
⌈
log
2
(2
p
+ 1)
⌉
))
bits, donde ada entradaorresponde a una ombinaión lineal que india uales oeientes deben onsiderarse en ada momento del tiempo de auerdo a los bits dedireionamiento, por lotanto, endihaentrada sealmaenalasuma delos oeientes indiados.
Esta arquitetura posee una entrada y una salida serial. La memoria ROM es direionada por
partir de un onjunto de muestras de entrada de una señal y un onjunto de salidas previas, por lo
que su arquitetura es idéntia a lamostrada en lagura 1. En un ltro tipo FIR la salida depende
solo de laentrada atual yde un onjunto de entradas previas, por loque laarquitetura esomo la
mostradaanteriormente peroon unapequeñadiferenia,éstanoposeeretroalimentaión ysóloposee
un únioregistro de desplazamiento
y
,el ualontendrá elvalorde salidadelltro.Usando estas arquiteturas es posible onstruir ltros de ualquier orden, ya sea IIR o FIR, pero
el tamaño requerido para la LUT que ontiene los oeientes pre-omputados reerá
exponenial-mentedependiendodelnúmerodeoeientesdelltro.Porestarabón,Aontinuaiónveremosomo
onstruir ltrosde ordensuperior apartir deun onjunto deltros debajo orden.
2.1. Filtros IIR
Para onstruir ltros IIR de orden superior se hae uso de las propiedades de onmutatividad y
asoiatividad delossistemasLTI(LinearTine-Invariant).Lapropiedad deasoiatividadestableeque
podemosanalizarunsistemaLTIdividiéndolo ensubsistemasmassimplesmientrasquelapropiedad
de onmutatividad postula quesi ubiamosen serieo asada ungrupo de subsistemas,éstospueden
ser oloados en ualquier orden sin afetar el desempeño nal. Luego, interonetando subltros de
bajoordenadeuadamente,podemosonstruirltrosdeualquier ordendeseado.Estaténiapermite
una reduiónonsiderableen elespaiousadode laFPGA,ya quereemplazamos unagran LUT por
unonjunto de pequeñasLUTs.En lagura 2semuestra elesquemade interonexiónempleadopara
este tipo de ltros, donde la salida del subltro
i
se oneta diretamente a la entrada del subltroi
+ 1
:(1)
(2)
(k−1)
(k)
IIR
IIR
IIR
IIR
input
output
serial
serial
Figura2:Esquema de interonexión para la onstruiónde ltrosIIR de ordensuperior.
2.2. Filtros FIR
Debido a que omúnmente se requieren ltros FIR on una gran antidad de oeientes para
obtener buenos omportamientos, es neesario haer un análisis más detallado on el objetivo de
reduirla lógianeesaria paralaonstruión de los mismos, permitiendo sintetizar ltrosde mayor
ordenen una FPGA.
Como los oeientes de un ltro FIR son simétrios, podemos saar ventaja de esta simetría
agrupandolos mismosdemanera talde generaruna LUTde menortamaño. Estosedebe a queenla
LUTsetendránentradas repetidasylasherramientas desíntesisdetetan estasituaiónyrealizanlas
optimizaiones orrespondientes.
Por lotanto,dada lasiguiente euaión general deun ltro FIR:
y
[
n
] =
a
0
x
[
n
] +
a
1
x
[
n
−
1] +
· · ·
+
a
p
−
1
x
[
n
−
(
p
−
1)] +
a
p
x
[
n
−
p
]
(5)podemosreagrupar laeuaión, porejemplode a uatrotérminos, de lasiguienteforma:
y
[
n
] =
a
0
x
[
n
] +
a
1
x
[
n
−
1] +
a
p
−
1
x
[
n
−
(
p
−
1)] +
a
p
x
[
n
−
p
]
+
a
2
x
[
n
−
2] +
a
3
x
[
n
−
3] +
a
p
−
3
x
[
n
−
(
p
−
3)] +
a
p
−
2
x
[
n
−
(
p
−
2)]
losoeientes
a
0
,a
1
,a
p
−
1
ya
p
en suLUT,laualserá direionada por losbits menossigniativos delosregistrosx
[
n
]
,x
[
n
−
1]
,x
[
n
−
(
p
−
1)]
yx
[
n
−
p
]
,Elsegundosubltroutilizarálosoeientesa
2
,a
3
,a
p
−
3
ya
p
−
2
ensu LUT,laual será direionada por los bits menos signiativosde los registrosx
[
n
−
2]
,x
[
n
−
3]
,x
[
n
−
(
p
−
3)]
yx
[
n
−
(
p
−
2)]
, yasí en adelante. El esquema de interonexión es mostrado enlagura 3.FIR
(1)
FIR
(2)
(k−1)
FIR
FIR
(k)
+
+
+
serial
input
serial
output
Log(k)
Figura 3:Esquema de interonexión para laonstruión de ltros FIR de orden superior.
Como se observa en la gura, se deben interonetar los subltros de manera tal que la entrada
pase a través de ellosserialmentellegando hasta elsubltro
k
yretornando haia el subltro1
, a n dequeada subltrodireione suLUTon lasentradas orrespondientede auerdoalosoeientesqueutilie.Porúltimo, lassalidasproduidaspor lossubltros sonsumadasmediantesumadoresserie
paraproduir lasalidadelltro de ordensuperior.
UnFiltro FIRquehaeusode
k
subltros,produiráunresultadoadal
+⌈
log
2
(
k
)
⌉
ilos,dondel
eslaantidadde bits delaentrada y⌈
log
2(
k
)
⌉
esla profundidaddel árboldesumadores.3. HERRAMIENTA DE SOFTWARE
Laarquiteturasparaimplementarltrosdigitalesomolasquesemostraronenlaseiónanterior
son muy simples de espeiar en lenguajes de desripión de hardware tales omo VHDL. Además,
tambiénesmuysimplerealizar espeiaionesqueutilienun onjunto deestosltrosparaonstruir
ltros de orden superior. Por otro lado ya son onoidos los algoritmos que permiten enontrar los
oeientes de unltro, ya seaparatipo IIRo FIR. Por estosmotivos,seonstruyo una herramienta
de software laual seenarga de onstruir una espeiaión en VHDLpara un ltro a partir de las
araterístias introduidas. Enlagura4 (a)sepuede apreiar lainterfaz gráade diho sistema.
Parael asode ltrosdigitales tipo IIR esposibleseleionar entre los métodos deaproximaión,
Chebyshev yButterworth, ya seaparaltros pasa-bajo,pasa-alto ypasa-banda. Losalgoritmos para
enontrar los polos y eros orrespondientes al sistema pueden verse en [8℄. Una vez enontrados los
polos y los eros pueden alularse los oeientes del sistema, que luego nos permiten onstruir la
LUT. La herramienta además nos permite seleionar la antidad de bits tanto para las señales de
entradas y salidas omo para la LUT. El orden del ltro también puede ser seleionado, omo así
también lafreueniade orte,freueniade muestreoon laquetrabajaraelltro ylafreuenia de
laFPGA.Enbaseaestosdosúltimosvaloresyalaantidaddebitsdelaseñaldeentradaseonstruye
Figura 4:Interfaz gráa.
Para el aso del FIRse introduen los mismos parámetros, on la diferenia que lafamilia a
se-leionar puede serHamming, VonHann yRetangular. Los algoritmos paraalular los oeientes
también pueden verse en[8℄.
Cuando seintenta onstruir ltrosde ordensuperiorlaherramienta haeusodelosesquemas
pro-puestosparaambosasos.
Además, esta herramienta nos provee la posibilidad de realizar una simulaión del ltro diseñado
on el n de veriar que el omportamiento sea el deseado antes de realizar la síntesis del mismo.
Para esto sepueden ingresar dosseñalesde entrada, indiando su freuenia respetivas, yseobtiene
de manera graalos resultados de lasimulaión. La simulaión esrealizada pormedio del simulador
GHDL 1
,elualesinvoado porlaherramienta.Enlagura4(b)puedeverse lalainterfazgraadel
sistemaparalasimulaión.
Una vez que seenontróel ltrodeseado yseobtuvo su espeiaión enVHDL, la mismapuede
ser sintetizada diretamente sobre una FPGA mediante las herramientas de síntesis existentes en la
atualidad.
4. RESULTADOS EXPERIMENTALES
Diversos ltros digitales on distintas araterístias fueron diseñados a n de analizar su
om-portamiento, desempeño y utilizaión de eldas lógias en una FPGA. La FPGA seleionada para
trabajarfueuna Atel ProAsi250,laherramienta usadapararealizar lasíntesisfueACTEL LIBERO
IDE v7.3.
Eneluadro1semuestran losresultadosobtenidosalrealizarlasíntesisdeltrosFIRde distintos
ordenes, on 10 bits tanto para la LUT omo para las señales de entrada y salida, los uales fueron
obtenidoson laherramienta. Además semuestran losresultados obtenidos alimplementar ltrossin
lamejora propuesta en esteartíulo, talomose planteaen [1℄,an de observar lamejora obtenida.
Losresultadosmuestranlaramentequesilasimetríadelosoeientesesaprovehada,obtenemos
unamayor ganania enuantoa espaioutilizado enlaFPGA,alavezqueaumentamos lafreuenia
de reloj obtenida, on lo ual es posible sintetizar una mayor antidad de oeientes en una únia
FPGA, omo menionamos previamente, on laventaja adiional de realizar una menor degradaión
deldesempeño.
OrdendelFiltro Usando Simetría Celdas Lógias Usadas Freuenia de Reloj (MHz)
14 Si 6.18% 101.153
14 No 6.22% 87.658
30 Si 12.16% 87.897
30 No 13.49% 85.092
70 Si 28.40% 90.465
70 No 31.14% 78.425
Cuadro2: Resultados de síntesis de ltros IIR.
Orden del Filtro CeldasLógias Usadas Freuenia de Reloj (MHz)
2 3.06% 112.02
4 6.28% 102.28
5 7.64% 101.54
En el uadro 2, semuestran los resultados que se obtuvieron al realizar la síntesis de ltros IIR,
donde sepuede observarqueun ltrode orden5,elualseonsideraomounltro onun muybuen
desempeño,oupa un7.64% delaFPGA, onloual esposibletener otrosistemaen ejeuion sobre
ésta.
Durantelosexperimentosrealizados, sepudo observar quelosltroson 10 bits depreisión para
la LUT ofreen un desempeño adeuado. Para mostrar esto se presentan los resultados obtenidos en
lasimulaión para un ltro FIRpasa-bajo de orden 70, usandoel tipo de ventana Hamming, 10 bits
para latabla LUT así omo para las señales de entrada y salida, una freuenia de orte de 60 Hz y
freuenia de muestreo de 1200 Hz. El mismo fue usado para ltrar una señal de entrada ompuesta
por una señalde 10 Hz ontaminada por una señal de 200 Hz. La gura5 muestra elefeto delltro
sobre la señal reién menionada. Se puede observar que la señal de 200 Hz ha sido ltrada dejando
pasar laseñalde 10 Hz,omo seesperaba.
A modo de ejemplo, se muestra en el anexo 1 un ódigo VHDL orrespondiente a un ltro IIR
de orden 2, pasa-bajo, on freuenia de orte a 60 Hz y que trabaja a una freuenia de muestreo
de 1200 Hz.La LUT y las señales de entraday salidason de 10 bits. Los oeientes del mismo yel
valorde ganania fueron obtenidoson laherramienta. La euaión araterístia para diho ltro es
lasiguiente:
y
[
n
] = 0
,
020083
·
(
x
[
n
] + 2
·
x
[
n
−
1] +
x
[
n
−
2]) + 1
,
561018
·
y
[
n
−
1]
−
0
,
641352
·
y
[
n
−
1]
(7)5. CONCLUSIONES
Como se pudo apreiar a lo largo del artíulo, las ténias propuestas para la implementaión de
ltrosdigitalesdeordensuperiorpermitenunaimportante reduiónenlautilizaióndeeldaslógias
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
Figura5:Resultados de simulaión.
LUT degrantamaño.Además paraelasode ltrosFIRsepudo observar queesposible reduiraún
más laantidad de eldas lógias utilizadas, debido aque lasimetría de los oeientes nospermiten
agruparlosdemaneratalquevariasentradasdeunaLUTseaniguales,permitiendoalasherramientas
de síntesis realizaroptimizaiones sobre laespeiaión.
Por otro lado, la herramienta onstruida permite que usuarios, tanto experimentados omo no
experimentados, puedan obtener espeiaiones en VHDL rápidamente, on sólo introduir algunas
araterístiasdelltrodeseado,pudiendosintetizarlasdiretamentesinneesidaddeonoeromoes
implementadointernamente elltro,niomo seobtienen losoeientesdel mismo.
REFERENCIAS
[1℄ Arroyuelo Mónia, Arroyuelo Jorge yGrosso Alejandro,FPGA-Based Digital FiltersUsing
Bit-Serial Arithmeti. XIII Congreso Argentino de Cienias de la Computaión. Otubre de 2007.
Corrientesy Resistenia,Argentina.
[2℄ Rawski, Tomaszewiz, Selvaraj and Luba. Eient Implementation of Digital Filters with Use
of Advaned Synthesis Methods Targeted FPGA Arhitetures. Digital System Design, 2005.
Proeedings. 8Th Euromiro Conferene on.30Aug. - 3Sept. 2005.Pages 460-466.
[3℄ Knut Arne Vinger and Jim Torrensen. Implementing Evolution of FIR-Filters Eiently in an
FPGA. Evolvable Hardware, 2003. Proeedings. NASA/DoD Conferene on. July 9-11, 2003.
Pages26-29.
[4℄ Kalivas, Tsirikos, Bougas and Pekmestzi. 100% Operational Eient Bit-Serial Programmable
FIRDigital Filters.EUSIPCO 2005 - 13ThEuropean Signal Proessing Conferene. September
4-8, 2005.Antalya,Turkey.
[5℄ Chi-Jui Chou, Satish Mohanakrishnan andJoseph Evans.FPGA Implementation of Digital
Fil-ters. International Conferene on Signal Proessing Appliations and Tehnology. Berlin, 1993.
Pages251-255.
[6℄ Sang-Hun Yoon, Jong-wha Chong and Chi-Ho Lin. An Area Optimization Method for Digital
Filter Design.ETRI Journal, volume 26,Number 6. Deember2004. Pages 545-553.
[7℄ behroozParhami.ComputerArithmeti:Algorithms andHardwareDesigns.New York:Oxford
UniversityPress, 2000.