[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