DSPRelated.com
Forums

suggestions on 32-bit dsp

Started by Randy Yates April 8, 2016
Folks,

I'm considering an audio project and I would like to base it on a
processor (MCU, SoC, whatever) which is capable of natively doing
fixed-point 32-bit MACs (with a guard bits in the accumulator,
preferably) and at least 100M MACs/second.

It looks like the Cirrus Logic CS47048 fits the bill, but if folks had
suggestions for others I would love to hear them. Particularly,
processors for which an RTOS (freeRTOS would be great) is available.
-- 
Randy Yates, DSP/Embedded Firmware Developer
Digital Signal Labs
http://www.digitalsignallabs.com
On Fri, 08 Apr 2016 16:40:31 -0400, Randy Yates wrote:

> Folks, > > I'm considering an audio project and I would like to base it on a > processor (MCU, SoC, whatever) which is capable of natively doing > fixed-point 32-bit MACs (with a guard bits in the accumulator, > preferably) and at least 100M MACs/second. > > It looks like the Cirrus Logic CS47048 fits the bill, but if folks had > suggestions for others I would love to hear them. Particularly, > processors for which an RTOS (freeRTOS would be great) is available.
Not Blackfin? Or are they all floating-point? An ARM A7 core would probably do it, but I looked into those recently and there aren't any integrated MCUs with that core -- just processors, onto which you have to stick memory et. all. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Tim Wescott <seemywebsite@myfooter.really> writes:

> On Fri, 08 Apr 2016 16:40:31 -0400, Randy Yates wrote: > >> Folks, >> >> I'm considering an audio project and I would like to base it on a >> processor (MCU, SoC, whatever) which is capable of natively doing >> fixed-point 32-bit MACs (with a guard bits in the accumulator, >> preferably) and at least 100M MACs/second. >> >> It looks like the Cirrus Logic CS47048 fits the bill, but if folks had >> suggestions for others I would love to hear them. Particularly, >> processors for which an RTOS (freeRTOS would be great) is available. > > Not Blackfin? Or are they all floating-point?
Well, that's 16x16->40, right? I was looking for something more like 32x32->64+.
> An ARM A7 core would probably do it, but I looked into those recently and > there aren't any integrated MCUs with that core -- just processors, onto > which you have to stick memory et. all.
That's not a show-stopper - who/what were you thinking of? -- Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs http://www.digitalsignallabs.com
On Fri, 08 Apr 2016 22:09:39 -0400, Randy Yates wrote:

> Tim Wescott <seemywebsite@myfooter.really> writes: > >> On Fri, 08 Apr 2016 16:40:31 -0400, Randy Yates wrote: >> >>> Folks, >>> >>> I'm considering an audio project and I would like to base it on a >>> processor (MCU, SoC, whatever) which is capable of natively doing >>> fixed-point 32-bit MACs (with a guard bits in the accumulator, >>> preferably) and at least 100M MACs/second. >>> >>> It looks like the Cirrus Logic CS47048 fits the bill, but if folks had >>> suggestions for others I would love to hear them. Particularly, >>> processors for which an RTOS (freeRTOS would be great) is available. >> >> Not Blackfin? Or are they all floating-point? > > Well, that's 16x16->40, right? I was looking for something more like > 32x32->64+. > >> An ARM A7 core would probably do it, but I looked into those recently >> and there aren't any integrated MCUs with that core -- just processors, >> onto which you have to stick memory et. all. > > That's not a show-stopper - who/what were you thinking of?
I can only point you in the direction of data sheets, and leave you doing research. ARM has a "DSP extension" to their instruction set that isn't quite a one MAC per clock cycle, but which is still pretty fast. I have exactly no real experience with it -- I've just looked hard at it for various things. Basically, I know that the Cortex-A7 has the instructions, and goes fast enough to do what you want. Whether it's the right choice is for you to cypher out. -- www.wescottdesign.com
>Folks, > >I'm considering an audio project and I would like to base it on a >processor (MCU, SoC, whatever) which is capable of natively doing >fixed-point 32-bit MACs (with a guard bits in the accumulator, >preferably) and at least 100M MACs/second. > >It looks like the Cirrus Logic CS47048 fits the bill, but if folks had >suggestions for others I would love to hear them. Particularly, >processors for which an RTOS (freeRTOS would be great) is available. >-- >Randy Yates, DSP/Embedded Firmware Developer >Digital Signal Labs >http://www.digitalsignallabs.com
Hi Randy, The lastest generation of Blackfins (fixed-point DSP), BF70x, include a 32x32 bits MAC (with 80 bits accumulator). Actually, it can also be used as a dual 16x16 MAC or as a complex 16x16 MAC. It can run up to 400 MHz (e.g. 400 MMAC/s for 32 bits, or 800 MMAC/s for 16 bits). From my experience, it works quite fine, and besides can host a lot of L2 memory (up to 1 MByte depending on the version), avoiding the need to add an external sdram. I don't know yet if a free RTOS is available or not. Julien --------------------------------------- Posted through http://www.DSPRelated.com
On Sat, 09 Apr 2016 11:29:46 -0500, tsd82 wrote:

>>Folks, >> >>I'm considering an audio project and I would like to base it on a >>processor (MCU, SoC, whatever) which is capable of natively doing >>fixed-point 32-bit MACs (with a guard bits in the accumulator, >>preferably) and at least 100M MACs/second. >> >>It looks like the Cirrus Logic CS47048 fits the bill, but if folks had >>suggestions for others I would love to hear them. Particularly, >>processors for which an RTOS (freeRTOS would be great) is available. -- >>Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs >>http://www.digitalsignallabs.com > > Hi Randy, > > The lastest generation of Blackfins (fixed-point DSP), BF70x, include a > 32x32 bits MAC (with 80 bits accumulator). Actually, it can also be used > as a dual 16x16 MAC or as a complex 16x16 MAC. > > It can run up to 400 MHz (e.g. 400 MMAC/s for 32 bits, or 800 MMAC/s for > 16 bits). > > From my experience, it works quite fine, and besides can host a lot of > L2 memory (up to 1 MByte depending on the version), avoiding the need to > add an external sdram. > > I don't know yet if a free RTOS is available or not. > > Julien --------------------------------------- > Posted through http://www.DSPRelated.com
FreeRTOS.org lists a contributed port for the Blackfin. It's not their work - but it's a port. I mostly do task loops these days, but I've used FreeRTOS once and liked it. Randy may also want to check MicroC-OS (II or III or god-knows-what). They've been getting less "free" all the time, but it's a place to look. -- www.wescottdesign.com
"tsd82" <105802@DSPRelated> writes:

>>Folks, >> >>I'm considering an audio project and I would like to base it on a >>processor (MCU, SoC, whatever) which is capable of natively doing >>fixed-point 32-bit MACs (with a guard bits in the accumulator, >>preferably) and at least 100M MACs/second. >> >>It looks like the Cirrus Logic CS47048 fits the bill, but if folks had >>suggestions for others I would love to hear them. Particularly, >>processors for which an RTOS (freeRTOS would be great) is available. >>-- >>Randy Yates, DSP/Embedded Firmware Developer >>Digital Signal Labs >>http://www.digitalsignallabs.com > > Hi Randy, > > The lastest generation of Blackfins (fixed-point DSP), BF70x, include a > 32x32 bits MAC (with 80 bits accumulator). Actually, it can also be used > as a dual 16x16 MAC or as a complex 16x16 MAC. > > It can run up to 400 MHz (e.g. 400 MMAC/s for 32 bits, or 800 MMAC/s for > 16 bits). > > From my experience, it works quite fine, and besides can host a lot of L2 > memory (up to 1 MByte depending on the version), avoiding the need to add > an external sdram. > > I don't know yet if a free RTOS is available or not. > > Julien
Thanks Julien! Sounds like a serious contender. -- Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs http://www.digitalsignallabs.com
On 4/8/16 4:40 PM, Randy Yates wrote:
> > I'm considering an audio project and I would like to base it on a > processor (MCU, SoC, whatever) which is capable of natively doing > fixed-point 32-bit MACs (with a guard bits in the accumulator, > preferably) and at least 100M MACs/second. > > It looks like the Cirrus Logic CS47048 fits the bill, but if folks had > suggestions for others I would love to hear them. Particularly, > processors for which an RTOS (freeRTOS would be great) is available.
besides doing 40-bit floating-point, the SHArC does 32x32 -> 80 bit accumulator. but the architecture and syntax for the fixed point is a little bit ugly. surprized Al hasn't piped up here yet. so he has a little board with an ASDP-21479 SHArC, stereo audio codec up to 192 kHz, DC ADC for knobs, USB interface. i think it runs at 245.76 MHz. 2560 instructions per sample at Fs = 96 kHz. i thought something like 5 M-bit internal RAM and some kinda flash on the board. fits into a tiny stomp box with room to spare. can run on 9v battery or just offa the USB. https://www.danvillesignal.com/landing-pages/snowbird-audio Randy, i can be a fixed-point partisan also (remember i used to be hard-core 56K?), but what is your motivation for doing it fixed? -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
robert bristow-johnson <rbj@audioimagination.com> writes:

> On 4/8/16 4:40 PM, Randy Yates wrote: >> >> I'm considering an audio project and I would like to base it on a >> processor (MCU, SoC, whatever) which is capable of natively doing >> fixed-point 32-bit MACs (with a guard bits in the accumulator, >> preferably) and at least 100M MACs/second. >> >> It looks like the Cirrus Logic CS47048 fits the bill, but if folks had >> suggestions for others I would love to hear them. Particularly, >> processors for which an RTOS (freeRTOS would be great) is available. > > besides doing 40-bit floating-point, the SHArC does 32x32 -> 80 bit > accumulator. but the architecture and syntax for the fixed point is a > little bit ugly.
That's what I thought too. I really meant in my original post "other than ADI," but I really like being reminded anyway about ADI's product's capabilities.
> surprized Al hasn't piped up here yet. so he has a little board with > an ASDP-21479 SHArC, stereo audio codec up to 192 kHz, DC ADC for > knobs, USB interface. i think it runs at 245.76 MHz. 2560 > instructions per sample at Fs = 96 kHz. i thought something like 5 > M-bit internal RAM and some kinda flash on the board. fits into a > tiny stomp box with room to spare. can run on 9v battery or just offa > the USB. > > https://www.danvillesignal.com/landing-pages/snowbird-audio
Thanks for the pointer.
> Randy, i can be a fixed-point partisan also (remember i used to be > hard-core 56K?), but what is your motivation for doing it fixed?
Oh yeah, I remember, Robert. Simply that I think fixed-point FIR filtering is superior numerically (whether or not it's audible) to single-precision float. I know you know this: it's been discussed here before. If I were to make this into a product, I think this would be a selling point. And I think handling the main audio datapath with a 32-bit width is also appealing, both to me and as a potential product. 32 bits/fixed-point just kinda feels right. -- Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs http://www.digitalsignallabs.com
robert bristow-johnson <rbj@audioimagination.com> writes:
> [...] > surprized Al hasn't piped up here yet. so he has a little board with > an ASDP-21479 SHArC, stereo audio codec up to 192 kHz, DC ADC for > knobs, USB interface. i think it runs at 245.76 MHz. 2560 > instructions per sample at Fs = 96 kHz. i thought something like 5 > M-bit internal RAM and some kinda flash on the board. fits into a > tiny stomp box with room to spare. can run on 9v battery or just offa > the USB. > > https://www.danvillesignal.com/landing-pages/snowbird-audio
PS: Is it out yet? Doesn't quite look like it. Also, can you buy it without Audio Weaver and just use it with your own code? -- Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs http://www.digitalsignallabs.com