The FAST Project: Fast Audio Signal-processing Technologies on FPGA
Romain Michon
---
GRAME-CNCM, Lyon (France)
CCRMA, Stanford University (USA)
CCRMA Open House -- Apr. 9, 2021 -- Stanford University
Goals of FAST
- Facilitate the programming of FPGAs (Field Programmable Gate Array) for real-time audio signal processing applications through the use of the Faust programming language
- Design high-performance FPGA-based multichannel (we're aiming for 2x2 and 32x32 modules) audio processors with ultra-low latency (<10us)
- Exploit our system in the context of active control of room acoustics and musical instruments
What We've Done so Far
faust2fpga
command line tool to program a Digilent Zybo Z7 (Xilinx Zynq-7000 FPGA)1
- This tool relies on High Level Synthesis (HLS): Faust -> Optimized C
-> Intellectual Property (IP)
- Generated IPs could be significantly optimized if Faust could generated fixed-point C code
- Dealing with memory is a complex task when aiming for ultra-low latency
1. T. Risset, R. Michon, Y. Orlarey, S. Letz, G. Müller, and A. Gbadamosi, "Faust2FPGA for Ultra-Low Audio Latency: Preliminary Work in The Syfala Project," in Proceedings of the International Faust Conference (IFC-20), Paris, France, 2020
faust2fpga
Overview
Challenges to Come
- Implementing internal fixed-point support in Faust
- Implement a
faust2vhdl
tool and compare its performances with IPs generated through HLS
- Optimize Faust DSP algorithms to be used on FPGAs
- Design custom FPGA-based audio processing units
- Use these tools in the context of active control
Overview of FAST