Compiling an ADAU144x project with greater than 100% MIPS
I recently received this question from a customer:
_____________________________________________
We’ve noticed that Sigma Studio will compile without protesting even though MIPS resources might be greater than 100%.
See the attached compiler output file as an example for a program that reports MIPS usage is 106%.
Analog Devices Compiler for the 3rd generation SigmaDSP core.
Build date = 10/20/2009 at 6:27 AM
## Summary ##
Instructions used:
3808 (out of a possible 4096 )
Modulo Data RAM used (X Memory):
1576 (out of a possible 8192 )
Non Modulo Data RAM used (X Memory):
64 (out of a possible 8192 )
Parameter RAM used (Y Memory):
1333 (out of a possible 4096 )
Instance Mips Inst Data Coeff Other
(max)
...
...
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 3808 3808 1640 1333
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
(%) 106% 93% 20% 33%
Can we load and run a program that exceeds the MIPS resources or is this to be avoided in all cases?
If it is possible to load and run what side effects should we expect?
Audio Signal Processors
mips
adau1446
compiler
adau1442
adau1445
sigmastudio
SigmaDSP Audio Processors
SigmaDSP
Show More
The ADAU144x actually contains space for more program instructions (4096) than it can reasonably execute during the span of one 48 kHz audio frame (3584). The reason for this is that the DSP core in this generation of SigmaDSPs has the ability to modify the program counter, rather than simply incrementing the program counter on each successive instruction cycle. The idea is that branched code could be created where only one processing path was enabled at a given time, allowing the user to download more than 3584 instructions to RAM as long as only 3584 are executed per frame.
Algorithms utilizing this new capability have not yet been developed for SigmaStudio, but they may appear in the future. In that case, you could have greater than 100% MIPS usage for the project, but no one branch would exceed 100% MIPS itself. The compiler would run a check to make sure this restriction is obeyed.
If you compile and attempt to run a project with greater than 100% MIPS in the current version of SigmaStudio, the DSP will miss the "Jump To Start" command once every other frame, resulting in every other sample being skipped. This will not only halve your effective sample rate but will also cause noticeable audio distortion issues.
This question has been closed by the EZ team and is assumed answered.
Please log in to reply.