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

What is "optimized dat"?

SigmaDSP & SigmaStudio J3627 Feb 13, 2013 00:00 2 replies Original on forum ↗
Thread Summary

Thread Summary

The user asked about the meaning of 'optimized' or 'optimized dat' in algorithms. The support engineer explained that these are re-written algorithms using subroutines to fit more instructions within limited program memory on devices like the ADAU1781, which can execute 1024 instructions per sample but has only 512 words of program memory. Optimized algorithms may use more clock cycles (MIPS) but save program memory, making them suitable when program memory is constrained.
AI Generated Content
Subscribe
J3627 Question
Feb 13, 2013 00:00

When adding an algorithm, some have "optimized" or "optimized dat" and others don't. What does that mean? I can't find anything in the documentation about it.

algorithms

sigmastudio

e4f4fa2ad11339edd721e31803b8fec1.png
e4f4fa2ad11339edd721e31803b8fec1.png
e4f4fa2ad11339edd721e31803b8fec1.png-450x158.png
e4f4fa2ad11339edd721e31803b8fec1.png-450x158.png
ADIApproved Reply
Feb 13, 2013 00:00

Hi J3627

Since some of our parts have limited Program Memory and can execute more instructions than available program memory, some algorithms were re-written to make use of subroutines (i.e. 1781). Their use, within different places in the schematic will increase the program less than the non-optimized ones. The tradeoff may be (depending on the number of cascaded filters you use) that you may use more clock cycles (MIPS) but at the same time, you will save in program memory. If your schematic doesn't use all the program memory, then use the standard filter implementation (it will use less MIPS) however if you are running out of program memory, consider using those algorithms. The filters themselves would work exactly the same as the non-optimized ones. Use the output window (DSP resources) or the files generated after compiling to validate what I'm talking about here.

Hope this helps.

Miguel

ADIApproved Reply
Feb 14, 2013 00:00

You can also see in the following FAQ that the ADAU1781 is an interesting case because it has 512 words of program memory but it can execute 1024 instructions per sample: https://ez.analog.com/docs/DOC-2734

This means that in order to use more than 512 instructions per sample in your program, you need to make use of algorithms that take advantage of subroutines... They are generally labeled "optimized" when you select the algorithm from the right-click context menu.