ADAU1701 Instruction Usage Table
Several designers have recently asked about how to estimate instruction usage by various algorithms on the ADAU1701, since its compiler does not itemize instruction usage by individual blocks. The attached spreadsheet lists most of the ADAU1701's toolbox blocks with the instruction count for most of their possible conditions (grown inputs and outputs, etc.). It's easier to build a more efficient project when one knows how much each of the blocks cost. For example, as shown at left: It pays to un-check any unused channels on the Input block since they use instructions.
Bob
Audio Signal Processors
instruction memory
sigma_100
instruction_count
SigmaDSP Audio Processors
resources
adau1701
Show More
Bob,
This is great! Thanks for sharing, I am sure we will be referencing your this post quite a bit for ADAU1701 customers.
-JT
KJBob is my personal hero!
Many thanks for this, KJBob; very useful. Since a usage percentage does not show up on the Output screen, as with other Sigma processors, is manually filling-in this worksheet the best way to figure how close one is to topping out? And, are the numbers based on a 48kHz sampling rate; that is, should they be double for 96kHz, etc? And finally, what are indications to look for that the chip's running out of overhead... without doing the computation?
Hi James,
Although the Sigma100 compiler (ADAU170x, etc.) doesn't report instruction usage in the Output Window, it does make this info available in a text file. Inside your project folder there's a folder named IC1_project-name.
Open it, then open the net_list_out folder inside. Finally, open the compiler_output.txt file. It shows the usage of instructions, parameter RAM, and data RAM. For example,
Higher sample rates diminish the number of available instructions -- to 512 @ 96K, & 256 @ 192K. A few go to overhead, so problems may begin when approaching the limit.
It would be rather tedious to list your entire project's blocks in the spreadsheet. Rather, the spreadsheet could help you decide how to code portions of your project. When faced with more than one way to perform a certain function, the spreadsheet may help you choose the more economical method.
Best regards,
Bob
Hi James,
There's one other way to discern how close you are to the instruction limit. Go ahead and export system files (Action menu) whether you plan to use them or not. Open the text file TxBuffer and look at the end of the Program Data list. You should see some words of hex 00, 00, 00, 00, 01. These are NOPs. There's no branching in Sigma100, so unused instructions at the end of the program are always NOPs. If you have some, there's extra room. If not, you may be in trouble. Of course, with higher sample rates you'll need to observe the lower limits.
Hi, Bob,
Just saw this. Very useful; thanks!
Jim
Please log in to reply.







