apfelaudio / tiliqua

A powerful, hackable FPGA-based audio multitool for Eurorack.
CERN Open Hardware Licence Version 2 - Strongly Reciprocal
59 stars 4 forks source link

top/macro_osc: add SoC variant with FPU, add 'macro oscillator' example bitstream #69

Closed vk2seb closed 6 days ago

vk2seb commented 6 days ago

A scope and vectorscope is included and hooked up to the oscillator outputs so you can visualize exactly what the softcore is spitting out. The original module was designed to run at 48kHz. Here, we instantiate a powerful (rv32imafc) softcore (this one includes an FPU), which is enough to run most engines at ~24kHz-48kHz, however with the video and menu system running simultaneously, it's necessary to clock this down to 12kHz. Surprisingly, most engines still sound reasonable. The resampling from 12kHz <-> 48kHz is performed in hardware below.

Jack mapping:

Credits to Emilie Gillet for the original Plaits module and firmware.

Credits to Oliver Rockstedt for the Rust port of said firmware: https://github.com/sourcebox/mi-plaits-dsp-rs

The Rust port is what is running on this softcore.