ΣSigmaStudio Ask AI Русский Log in

MIPS estimation for ADAU1701

SigmaDSP & SigmaStudio Chrisdw Feb 4, 2015 00:00 4 replies Original on forum ↗
Subscribe
Chrisdw Question
Feb 4, 2015 00:00

I’m using an ADAU1701 part for an application splitting 3
digital I/P channels of into 6 channels then following with speaker crossover filtering with appropriate low pass/high pass filtering for distribution to woofer/tweeters (following amplification).

I’m finding that, although the compiler output file tells me that the number of
instructions/RAM available etc is well within the resources, the DSP MIPS
appears to be exceeded as outputs glitch or stop working when adding the
additional limiter/compression blocks that I require.

I’m aware that the filtering is not necessarily optimized and there may be a better way to
implement but wanted to understand how I can estimate/measure the MIPS used for
a particular design (assuming this is the issue). I can’t seem to see this in
any of the resources/compiler output for the ADAU1701.

I note from other FAQ that compiler output for ADAU1761/1781 etc. have additional MIPS information and breakdown of MIPS for the individual blocks/functions.

If the ADAU1701 does not have this additional info assuming I could compile same design for ADAU1761 which has same core frequency/number of instructions/program RAM?

Also is there a MIPS estimation for the individual algorithms in Sigma Studio?

Note that using single precision filters throughout and running at 48k sample
rate with external 12.288MHz master clock supplied.

Look forward to reply on this.

Chris

Audio Signal Processors

SigmaDSP Audio Processors

adau1761

adau1701

JohnTo Reply
Feb 4, 2015 00:00

Hi Chris,

The ADAU1701 support integrated in SigmaStudio was based on older compiler technology which didn't generate individual MIPS/Memory data in the Compiler's output window.

You might be able to get a rough estimate for cycles/memory by compiling for the ADAU1761, but keep in mind the Sigma200 architecture offered the ability to feedback output data from the MAC unit back to the data register inputs. This was not possible on the previous core which had no feedback path directly. So the cycle counts might be a few cycles better in the ADAU1761 bencharks for some modules.

By the way, you can also get the resource summary information for the ADAU1761 up on ADI's wiki page.

Another thing you might find useful. I have an old AD1940 MIPS calculator which you can use for the ADAU1701 (since the ADAU1701 is the same core as the AD1940). It might not include cycles for every cell you are using, but it might be useful enough to come up with an estimate (attached). Not sure if there are other versions posted here which are more complete.

-JT

Chrisdw Reply
Feb 5, 2015 00:00

Hi John,

Thanks for quick reply on this.

I can now estimate resources using the data from the AD19xx.

Also would just like to confirm if you think the behavior I'm seeing, ie signals start glitching etc, when I add more functions is most likely due to processor running out of MIPS?

Thanks

Regards

Chris

JohnTo Reply
Feb 5, 2015 00:00

Hi Chris,

It could be you are running out of MIPS if you are running at 96 kHz (512 instructions) or 192 kHz (256 instructions/sample). Given the linear flow of program execution for the ADAU1701, I would expect one symptom to be that certain output channels are not audible (as the instructions that would write to output serial port registers do not get executed).

At 48 kHz operation with 1024 instructions available per sample, I would expect that the Compiler (and compiler_output.txt file) should have complained if you exceeded 1024 instructions. Is this not the cause?

-JT

EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin