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.