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

ADAU1401: Saving more than 8 lookup tables within SigmaStudio

SigmaDSP & SigmaStudio neilped1 Sep 1, 2010 00:00 4 replies Original on forum ↗
Subscribe
neilped1 Question
Sep 1, 2010 00:00

I have a need to have more than 8 lookup tables' index stored into memory. Since the register limit of ADAU1401 is 8 , how can I save or more efficiently store within the register area. Since the tables only contain between 15 & 35 index values each, can multiple index lookups be stored within a single or 2 registers.

Thanks

Audio Signal Processors

adau1401

SigmaDSP Audio Processors

ADIApproved Reply
Sep 1, 2010 00:00

Are you talking about saving values in interface register to be recalled during the next selfboot? This is a limit set in the ADAU1401 hardware, so it can't be expanded beyond the 8 available interface registers. Each of these registers can only be used to save and recall a single value, so you can't use one register to store multiple values. Even though you may only be using a few of the bits to index your settings, this data is saved as a 28-bit parameter like all other parameters.

If you need the ability to control, save, and recall more than the 8 parameters that can be saved using the interface registers, you may want to consider using a microcontroller in your design to boot and control the ADAU1401. The selfboot feature isn't intended to completely replace the flexibility of control that a micro will give you. It sounds like you're running up against the limits of what the ADAU1401 can do in selfboot mode.

neilped1 Reply
Sep 1, 2010 00:00

Yes. Any way to value mask the a small 4 or 5 bit data then add them

together and save into a single register ?

While reviewing compiler output.txt , I also noticed I already consumed

722 instructions out of 1024. I'm not finished with the features aII I

want and only have 300 or so instructs left. Any suggestions to make more

efficient ?

I still have to add 4 channels of delay, a 5th LF output stage and high

pass filters for 4 channels and lowpass for the sub. Then add a licensed

function.

Is this too much to expect from 1401 ?

Thanks

#####################################################################################

This e-mail message has been scanned for Viruses and Content and cleared

by MailMarshal

ADIApproved Reply
Sep 2, 2010 00:00

The interface registers are special-purpose registers that will only write their values back to a single parameter RAM address, so I don't think that there's a way that you could mask multiple values into one word to save extra data.

If you are using a lot of filters, a quick way to reclaim some instructions is by changing some of your filters from double to single precision. Double precision will typically only make much of a difference for high-Q or very low frequency filters. You could probably safely implement all of your filters with center frequencies above 500-1000 Hz in single precision and not hear a difference. A single precision filter uses 6 instructions, while a double precision filter uses 9.

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