FPGA programming and embedded Linux

Updated: about 2 years ago
Location: Grenoble, RHONE ALPES
Deadline: 31 Mar 2022

The Emeraude team is a collaboration between Citi and researchers from the GRAME group. GRAME is a "Center National de Création Musicale" (CNCM) organized into three departments: music production, transmission / mediation and research in musical data processing. The four GRAME researchers have expertise in computer science (compilation), audio DSP, digital violin making and HCI (Human Computer Interaction) in general. GRAME is the inventor of Faust (https://faust.grame.fr), a specific language for audio signal processing. Faust is mainly developed at GRAME and by a worldwide community , it is based on a compiler `` translating '' DSP specifications written in Faust into a wide range of lower level languages ​​(e.g. C, C ++, Rust, Java, WASM, LLVM bitcode, etc.).

Emeraude is participating in an ANR (FAST) project aimed in particular at low latency audio synthesis on FPGAs. This is to design an FPGA-based platform for high-level programmable ultra-low latency digital audio signal processing (DSP) with Faust. This platform (https://faust.grame.fr/syfala/) is intended to be usable for various applications ranging from sound synthesis and processing to active sound control and of a room or of an acoustics articificial sound field.

Technical objectives

The proposed work within FAST offers several technical challenges. They consist in managing the compilation tool chain from audio processing written in Faust to the FPGA bitstream using the Faust compiler,  Socrate' FloPoCo tool (http: //flopoco.gforge.inria .Fr), the Xilinx tools (the VivadoHSL, vivado and Vitis toolchains) as well as the embedded Linux distribution (petalinux distribution offered by Xilinx) deployed on the ARM processor of Xilinx SoCs. It is also a question of consolidating the distribution of the software. In practice, the organization of the current git repository will need to be completely revised so that the different versions of the tool are branches rather than subdirectories. The engineer will have to take charge of the various components of the tool chain which are already operating and maintain the entire chain in a coherent state according to the improvements proposed at the different levels. The engineer will also participate in the evolution of this compilation chain by proposing new extensions. In addition to this, and when the chain is stabilized, the engineer will participate in chain applications. We plan to use this new FPGA build stream to:

  • design a programmable sound processing / synthesis module for musicians,
  • create a system to actively modify the acoustics of a concert hall to make it "modular",
  • actively modify the acoustic properties of acoustic musical instruments.

In practice ...

The work will take place as a collaboration between Grame and Citi, most of the time the engineer will be based at Citi, but a regular meeting (approximately every two weeks) will take place. The position is 24 months and was obtained as part of the creation of the Emerald team, so there will be plenty of opportunities for other goals.

All this work must come in support of the doctoral student recruited on the ANR FAST who will experiment with this compilation chain. The engineer will be associated with certain publications of the doctoral student.



Similar Positions