[sdiy] Nord Modular DIY
rsdio at audiobanshee.com
rsdio at audiobanshee.com
Thu Mar 3 03:07:29 CET 2016
On Mar 2, 2016, at 3:45 PM, Tim Ressel <timr at circuitabbey.com> wrote:
> I hear you about the power. But procs like the Sharc have seriously expensive compilers.
That's a good point. I design with the TMS320, and the compiler cost is not an issue with that family. In the field, I've seen about 50/50 designs with TMS320 versus SHARC, so I usually list the SHARC because it's in successful products (I take everything apart - don't loan me your gear if you don't want fingerprints inside!).
> Its true the STM32 doesn't have bit reversing or other niceties, but for this application I'm not sure how much it gains you.
Bit reversing is great for FFT. You don't usually see the bit-rev instruction because the average Joe doesn't write the FFT - it's already written in the math libraries and rarely needs tweaking. A lot of the special DSP features are not apparent unless you're seriously trying to do massive signal processing code development, and then it becomes obvious why DSP chips are still so common.
> As long as you have single cycle MAC and high clock rates, I think we're okay.
MAC is not the only tool in the DSP chest, and the lack of the other tools makes something like the STM32 a far cry from a DSP.
As one example of the difference, the TMS320 can simultaneously perform 3 read and 2 write operations in a single clock cycle. There is no ARM that has multiple address & data busses for this kind of data throughput. I was able to generate waveforms via DMA while also performing calculations on incoming signals, all without either operation causing wait states due to simultaneous access to SRAM. A mature DSP design like the TMS320 goes way beyond the instruction set. It's like having an FPGA design that is already optimized for audio so you don't have to build the system.
I saw a nice PowerPoint presentation about the difference - I think it effectively asks "Is MAC the same as a true DSP?" Basically, the author showed that prices and performance cover a wide range. You can't really get DSP performance with MAC alone, but it's certainly better than nothing. This particular author favored the SHARC, probably because that's his prevalent experience, but he also looked at Blackfin, TMS320, and ARM designs with MAC. If I'd researched and written the article, it might have leaned more towards TMS320 due to the cost of SHARC development. Unfortunately, none of his benchmarks included TMS320, only SHARC versus non-DSP. It still quite obvious that a DSP uses a fraction of the number of clock cycles to implement a filter or other signal processing operation.
Quick search finds that presentation, titled "Choosing the Best Processor for Your Audio DSP Application"
I mention these considerations because it could be quite difficult to design a Nord Modular replacement with less capable processors. An STM32 at the core to coordinate voice boards would be a good choice, and perhaps the MAC instructions would be useful for global modulation signal generation. This central controller could talk to individual DSP chips, one per voice board, where low-level coding is more likely to eek the most performance per voice. Such a division of labor makes sense, so the control processing is easier because it's running on a generic processor, and the synthesis is more powerful because it's running on a DSP per voice (or per voice group). Once the DSP modules are written, they can simply be configured by the high-level processor.
By the way, I like the idea of an external keyboard via MIDI, to save on size and cost. The central STM32 would talk MIDI and translate to internal controls for the DSP-based voice modules.
More information about the Synth-diy