scieee Open visual document viewer

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

Á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

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.

Full text

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.