Un front-end de FPGA de audio compatible con Eurorack de hardware abierto
[Sebastian Holzapfel] ha diseñado una interfaz de audio (eurorack-pmod) para aplicaciones de audio basadas en FPGA, que está diseñada para encajar en una caja Eurorack estándar. El proyecto, lanzado bajo CERN Open-Hardware License V2, está diseñado en KiCAD utilizando el códec de audio de cuatro canales AK4619VN de microdispositivos Asahi Kasei. (Y adivinen qué amigos, ¡hay muchos de esos en stock!)
El AK4619 es un dispositivo de interfaz de audio, diseñado para aplicaciones de unidades principales automáticas, y contiene cuatro ADC de audio y cuatro DAC. Estos permiten que el eurorack-pmod maneje cuatro canales entrantes y cuatro salientes al mismo tiempo. Con una interfaz I2S o PCM, que está conectada a un conector PMOD en la parte posterior, se puede conectar una placa FPGA externa de su elección, de la cual hay bastantes opciones. [Sebastian] proporciona un código de ejemplo dirigido a la placa iCEBreaker FPGA que puede ser manejado por la cadena de herramientas Yosys. Este trata los detalles del códec AK4619, así como una calibración a nivel de placa, para permitir que el usuario se concentre en el código de la aplicación. Eso podría ser un sintetizador puro, algún tipo de efecto de audio DSP o algo intermedio. El código de Verilog en sí es bastante sencillo, por lo que debería poder trasladarse fácilmente a cualquier otra placa FPGA a la que tenga acceso el usuario.
Se proporciona un código para núcleos de ejemplo, con un VCO, un filtro programable, un retardo/diezmador y algunas otras ventajas, ¡así que hay muchos ejemplos para comenzar con su primer proyecto de sintetizador FPGA! Con fines de aprendizaje y simulación, [Sebastian] proporcionó las configuraciones necesarias para manejar el simulador de audio VCV Rack, así como una guía práctica para ejecutar la simulación Verilog dentro de VCV.
La síntesis de audio FPGA no es nada nuevo por aquí, pero los nuevos proyectos en este espacio siempre son emocionantes. En cuanto a los trabajos anteriores, aquí hay uno basado en una antigua placa Xilinx Spartan 6 y otro para el Zynq más nuevo.