Patrones de generación de direcciones escalables automatizados para esquemas de plegado bidimensionales en implementaciones de FFT de radix-2
Autores: Minotta, Felipe; Jimenez, Manuel; Rodriguez, Domingo
Idioma: Inglés
Editor: MDPI
Año: 2018
Acceso abierto
Artículo científico
2018
Patrones de generación de direcciones escalables automatizados para esquemas de plegado bidimensionales en implementaciones de FFT de radix-2
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Hardware
Transformada rápida de Fourier
Operación de plegado
Generación de direcciones
Lógica de permutación
Núcleos de FFT
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 23
Citaciones: Sin citaciones
Las implementaciones basadas en hardware de la Transformada Rápida de Fourier (FFT) son altamente valoradas ya que proporcionan características de rendimiento mejoradas en comparación con las soluciones secuenciales basadas en software. Debido al alto número de operaciones involucradas en los cálculos, la mayoría de los enfoques de FFT basados en hardware pliegan completamente o parcialmente su estructura para lograr un uso eficiente de los recursos. Una operación de plegado requiere un bloque de permutación, que típicamente se implementa utilizando lógica de permutación o generación de direcciones. Los esquemas de direccionamiento ofrecen ventajas de eficiencia de recursos en comparación con la lógica de permutación. Proponemos un procedimiento sistemático y escalable para generar patrones de direcciones basados en permutación para cualquier algoritmo de tamaño de transformada de potencia de 2 y cualquier factor de plegado en núcleos de FFT. Para respaldar este procedimiento, desarrollamos una formulación matemática basada en álgebra de productos de Kronecker para la generación de secuencias de direcciones y patrones de flujo de datos en los cálculos de núcleos de FFT, un procedimiento bien definido para escalar los esquemas de generación de direcciones y un enfoque mejorado en la generación automatizada general de núcleos de FFT. También hemos realizado un análisis y comparación del rendimiento del diseño de hardware propuesto con respecto a una estrategia similar reportada en la literatura reciente en términos de latencia de reloj, rendimiento y recursos de hardware. Las evaluaciones se realizaron en un FPGA (Field Programmable Gate Array) Xilinx Virtex-7 utilizado como objetivo de implementación.
Descripción
Las implementaciones basadas en hardware de la Transformada Rápida de Fourier (FFT) son altamente valoradas ya que proporcionan características de rendimiento mejoradas en comparación con las soluciones secuenciales basadas en software. Debido al alto número de operaciones involucradas en los cálculos, la mayoría de los enfoques de FFT basados en hardware pliegan completamente o parcialmente su estructura para lograr un uso eficiente de los recursos. Una operación de plegado requiere un bloque de permutación, que típicamente se implementa utilizando lógica de permutación o generación de direcciones. Los esquemas de direccionamiento ofrecen ventajas de eficiencia de recursos en comparación con la lógica de permutación. Proponemos un procedimiento sistemático y escalable para generar patrones de direcciones basados en permutación para cualquier algoritmo de tamaño de transformada de potencia de 2 y cualquier factor de plegado en núcleos de FFT. Para respaldar este procedimiento, desarrollamos una formulación matemática basada en álgebra de productos de Kronecker para la generación de secuencias de direcciones y patrones de flujo de datos en los cálculos de núcleos de FFT, un procedimiento bien definido para escalar los esquemas de generación de direcciones y un enfoque mejorado en la generación automatizada general de núcleos de FFT. También hemos realizado un análisis y comparación del rendimiento del diseño de hardware propuesto con respecto a una estrategia similar reportada en la literatura reciente en términos de latencia de reloj, rendimiento y recursos de hardware. Las evaluaciones se realizaron en un FPGA (Field Programmable Gate Array) Xilinx Virtex-7 utilizado como objetivo de implementación.