scieee Science in your language
[es] (orig)

Desarrollo en VHDL de un filtro digital genérico basado en estructuras canónicas.

Abstract

Este trabajo abarca la realización de un filtro digital a bajo nivel. El diseño propuesto se basa en la utilización de un lenguaje de descripción de hardware (VHDL) así como de una estructura canónica para la implementación del filtro. Con ello, se aporta al alumno un enfoque mucho más práctico del diseño de filtros, desde un punto de vista adecuado a la titulación de Ingeniería en Informática.

Read accessible full text

Desarrollo en VHDL de un filtro digital genérico basado en estructuras canónicas.

Author: Álvarez, A.; Millán Calderón, Alejandro; Bellido Díaz, Manuel Jesús; Juan Chico, Jorge; Ruiz de Clavijo Vázquez, Paulino; Guerrero Martos, David; Ostúa Arangüena, Enrique; Viejo Cortés, Julián
Publisher: Universidad Politécnica de Madrid
Year: 2006
Source: https://idus.us.es/bitstreams/6afa0f65-3e0f-4eef-b9a4-f8cbbedc313d/download
DESARROLLO EN VHDL DE UN FILTRO DIGITAL GENÉRICO
BASADO EN ESTRUCTURAS CANÓNICAS
A. ALVAREZ, A. MILLAN, M. J. BELLIDO, J. JUAN,
P. RUIZ-DE-CLAVIJO, D. GUERRERO, E. OSTUA Y J. VIEJO
Depa amen o de Tecnología Elec ónica. Uni e sidad de Se illa
A . Reina Me cedes, s/n (E. T. S. Ingenie ía In o má ica) - 41012 Se illa
a eal a [email p o ec ed], {amillan, bellido, jjchico, paulino, gue e, os ua, julian}@d e.us.es
Tel.: +34 954556161 - Fax: +34 954552764
h p://www.d e.us.es/g m/
Es e abajo aba ca la ealización de un il o digi al a bajo ni el. El diseño p opues o se
basa en la u ilización de un lenguaje de desc ipción de ha dwa e (VHDL) así como de una
es uc u a canónica pa a la implemen ación del il o. Con ello, se apo a al alumno un
en oque mucho más p ác ico del diseño de il os, desde un pun o de is a adecuado a la
i ulación de Ingenie ía en In o má ica.1
1. In oducción
El abajo que p esen amos se incluye den o de la asigna u a «T a amien o Digi al de Señales» de
e ce cu so de Ingenie ía en In o má ica (Uni e sidad de Se illa). Has a aho a, las p ác icas de dicha
asigna u a han cubie o básicamen e el diseño de il os digi ales a al o ni el, u ilizando la he amien a
OCTAVE [1]. Así, el obje i o p incipal de es e abajo ha sido añadi al p og ama de p ác icas la eal-
ización de il os a bajo ni el. Pa a ello, se ha p e endido que los alumnos implemen en un il o desde
el pun o de is a ha dwa e siguiendo dos pau as cla as. Po un lado, el il o debía se o almen e con ig-
u able (debía se posible modi ica la p ecisión de los da os, el o den y los coe icien es del mismo) po
lo que se ha elegido un lenguaje de desc ipción de ha dwa e pa a su desa ollo (en nues o caso VHDL
[2, 3, 4]). Po o o lado, el il o debía segui alguna de las es uc u as canónicas expues as en la li e a u a
debido a su mayo e iciencia (en compa ación con la o ma di ec a).
2. In e az y es uc u a in e na del il o
Tan o la in e az como la es uc u a in e na del il o diseñado se mues an en la Fig. 1 (Nes la
p ecisión de los da os de en ada en bi s). Las señales CLK y RESET do an al ci cui o de eloj y pues a
a ce o. Los buses X e Y son la en ada y la salida de da os del il o. Po úl imo, la señal STROBE indica
al ci cui o que hay un nue o da o álido en la en ada. La es uc u a in e na del il o es ela i amen e
sencilla y cuen a con los siguien es componen es:
RAM, almacena los ec o es auxilia es necesa ios pa a el cálculo de la salida.
ROM, almacena los coe icien es del il o.
Acumulado (AC), necesa io pa a almacena el esul ado pa cial du an e cada i e ación del il o.
ALU, ealiza ope aciones a i mé icas en un solo ciclo de eloj (suma, es a y mul iplicación).
Todos los componen es abajan con da os de 2Nbi s con obje o de man ene la p ecisión de los esul a-
dos.
1Es e abajo ha sido inanciado pa cialmen e po el p oyec o OFU TIC 1023 de la CONSEJERÍA DE INNOVACIÓN, CIENCIA
YEMPRESA de la JUNTA DE ANDALUCÍA.
XN-1-X0
Y2N-1-Y0
CLK
RESET
STROBE
VALID_OUT
FILTRO
ALU
ROM
RAM AC
UNIDAD DE CONTROL
Figu a 1: In e az y es uc u a in e na del il o.
Figu a 2: Es uc u a canónica pa a il os ecu si os de o den dos.
3. Funcionamien o del il o
El uncionamien o del il o sigue la o ma canónica cuya es uc u a pa a o den dos se mues a en
la Fig. 2. Es a es uc u a pe mi e calcula la salida u ilizando 3Lposiciones de memo ia (siendo Lla
longi ud del il o) en e a las 4Lposiciones que equie e la o ma di ec a de i ada de la ecuación de
ecu encia de un il o gené ico [5, 6]:
y[n] =
M
X
k=0
b[k]x[n−k]−
M
X
k=1
a[k]y[n−k]
donde x[n]ey[n]son la en ada y la salida del sis ema, a[k]yb[k]son los coe icien es del il o, y
Mes el o den del mismo. El código OCTAVE co espondien e a dicha es uc u a se mues a en la Fig. 3.
4. Diseño en VHDL
El diseño del il o se ha ealizado en lenguaje VHDL median e la he amien a XILINX ISE WEB-
PACK 7.1iWP3.0 [7]. En p ime luga se ha diseñado la a qui ec u a del módulo (Fig. 1) y después
se ha desa ollado el código VHDL del mismo a ni el RTL ( egis e ans e le el). Cabe indica que el
unc ion y = ii 1(b, a, x)
b = b./a(1);
a = a./a(1); % NORMALIZAR COEFICIENTES
L = max([leng h(a), leng h(b)]);
M = L-1;
while leng h(a) < L
a = [a, 0];
end
while leng h(b) < L
b = [b, 0];
end % IGUALAR LONGITUDES DE VECTORES DE COEFICIENTES
= ze os(L, 1); % INICIALIZAR VECTOR DE CALCULOS TEMPORALES
N = leng h(x);
o n = 1:N
ac = x(n);
o k = 2:L
ac = ac-a(k)* (k);
end % CALCULO DE LA PARTE RECURSIVA
(1) = ac;
ac = b(1)* (1);
o k = L:-1:2
ac = ac+b(k)* (k);
(k) = (k-1);
end % CALCULO DE LA PARTE NO RECURSIVA
y(n) = ac;
end
Figu a 3: Código OCTAVE co espondien e a la es uc u a canónica empleada en el il o.
código co espondien e conside a como pa áme os an o la p ecisión de los da os como el o den y los
coe icien es del il o, con obje o de consegui un sis ema o almen e con igu able. La e i icación del
diseño se ha ealizado median e la he amien a MODELSIM XILINX EDITION 6.0a [8] (Fig. 4). Po
úl imo, el ci cui o diseñado ha sido empleado en la implemen ación de di e sos il os. Se mues an los
esul ados ob enidos pa a un il o de paso de banda a modo de ejemplo (Fig. 5).
5. Conclusiones
Con es e abajo, se ha conseguido comple a el p og ama de p ác icas de la asigna u a indicada con
an e io idad, apo ando al alumno un pun o de is a mucho más p ác ico del diseño de il os digi ales,
aunque man eniéndolo den o del ámbi o de su i ulación.
Re e encias
[1] “Oc a e.” h p://www.oc a e.o g/.
[2] F. Pa do and J. A. Boluda, VHDL. Lenguaje pa a sín esis y modelado de ci cui os. RA-MA, 1999.
[3] P. J. Ashenden, The designe ’s guide o VHDL. Mo gan Kau mann, 2nd ed., 2002.
[4] S. A. Pé ez, E. So o, and S. Fe nández, Diseño de sis emas digi ales con VHDL. Thomson, 2002.
[5] J. B. Ma iño, F. Vall e dú, J. A. Rod íguez, and A. Mo eno, T a amien o digi al de la señal. Una
in oducción expe imen al. Edicions UPC, 2nd ed., 1996.
[6] A. V. Oppenheim, R. W. Scha e , and J. R. Buck, T a amien o de señales en iempo disc e o. P en ice
Hall, 2nd ed., 2000.
[7] “ISE WebPACK.” h p://www.xilinx.com/ise/logic_design_p od/webpack.h m.
[8] “ModelSim Xilinx Edi ion-III.” h p://www.xilinx.com/ise/op ional_p od/mxe.h m.
(a)
(b)
Figu a 4: En o no de diseño de MODELSIM (a) y de alle de simulación del sis ema (b).

(a)
(b)
(c)
Figu a 5: Implemen ación de un il o de paso de banda u ilizando el ci cui o diseñado: (a) espec o de
en ada, (b) espues a en ecuencia del il o y (c) espec o de salida.