[sdiy] was how_you_got_started...
Scott Gravenhorst
music.maker at gte.net
Sat Sep 26 04:31:41 CEST 2015
"Jay Schwichtenberg" <jays at aracnet.com> wrote:
>A lot depends on the DSP you are using. If you are using a higher end
>DSP that has pipe lines and multiple ALUs then using the C compiler
>will get you the best performance unless you're some sort of uber
>programmer. There are way too many things going on in those processors
>to keep track of and the compilers have been optimized to handle that
>stuff. But for the smaller DSPs like the MicroChip ones assembly
>language is the way to go if you really want the performance.
>
>Jay S.
Yes, I found this to be true by doing it. I've been able to write a
nice additive flute model monosynth for dsPIC33F in C, but my best
efforts at polysynths are in assembly language. The main issue for me
is the fact that there is no native data type support for 16 bit fixed
point arithmetic. Worse yet is that sometimes designs need more than
one definition for 16 bit fixed point. Usually 1.15 works, but there
are times other configurations are necessary. This is rather difficult
and at least ugly in C even using typedef etc. Just ugly. And in C I
had to write several functions in assembly language anyway that handle
the use of DSP instructions because they are not used by the C compiler
even if it's logical to do so. At least in my experience... can anyone
tell me how to make an FIR filter in C30 that uses the MAC instruction... ??
Anyway, what Jay said about assembly language being the way to go.
--Scott G
More information about the Synth-diy
mailing list