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

ADAU1772 Can only use 30 out of 32 Instructions

SigmaDSP & SigmaStudio t1msu Jul 12, 2023 00:00 3 replies Original on forum ↗
Subscribe
t1msu Question
Jul 12, 2023 00:00

Hello,

I created a basic Sigmastudio Project for ADAU1772.

Using the config below I use 30 out of 32 Instructions.

Expectation: I have space to add two additional filters to one PEQ block and compile my program.

Actual behaviour: Error Message: "Ran out of Program RAM there only 32 Instructions"

On a even simpler project I could unlock the full 32 Instructions but on this one it fails when I add more than 30.

I attached my project.

/cfs-file/__key/communityserver-discussions-components-files/396/adau1772_5F00_bug.dspproj

software

4.7

adau1772

Integrated/Special Purpose A/D Converters

Audio CODECs

bug1.PNG
bug1.PNG
DaveThib Reply
Jul 13, 2023 00:00

Hello timsu,

Thank you so much for doing what many people do not do and that is to attach your schematic! It was helpful.

When I compile it I get this error message:

This is one of the very cryptic error messages that the compiler gives and only give it once!!

The next time you try to compile it all you get is this:

The bar at the bottom of the schematic window is red and you get the compiler error message on the bottom right.

However, the cryptic message does give a clue that the issue is with the cell, EQ1_2 and that it is a parameter issue.

So I opened up the EQ and the last two filters are set for a center frequency of 22,049Hz. Here is a screenshot:

Opening up the EQ 11, I see that SigmaStudio actually added two filters with the same 22049 number. So I guess it is a bug in that it should be smarter when inserting a new filter.

If I change one of them to 21,049 for each of the two filters it compiles fine and uses 30 instructions. I do not think 22kHz makes sense as a center frequency to actually use but it will compile.

Then I tried to add two more filters and I cannot even add one more. So something may be corrupted in the project...

There are some strange bugs in the 1772 compiler where it can get confused in how it allocates resources and just added or rewiring a project can introduce errors. This is an example of that.

So what I did was to start from a blank project.

I added the same blocks you used but built it from left to right. I also did a trick where you can right click on a block and copy the settings. So I went to your project and copied the EQ settings and pasted them into this new project. I compile it and guess what?... it uses 28 instructions.

Here is that project: (the forum is giving me a problem again and I had to zip the file to upload it)

Project built From blank project.zip

So I added three filters to the 8-filter to make it an 11-filter EQ. Then I added one filter to the 11-filter EQ to make it 12 filters and it compiles fine and uses 32 instructions.

I did have an issue once with the compiler picking the 22049 frequency and that threw an error again. I changed it and it compiled.

Project Using 32 instructions.zip

Sorry for the instability. Once it compiles it will always compile the same way. We did fix some of this with the newer part, the 1787 but we were not able to go back and easily fix this one.

This should get you past this issue.

Dave T

pastedimage1689279277447v1.png
pastedimage1689279277447v1.png
pastedimage1689279381200v2.png
pastedimage1689279381200v2.png
pastedimage1689279574628v3.png
pastedimage1689279574628v3.png
t1msu Reply
Jul 14, 2023 00:00

Hey Dave,

thank you for your answer but my problem is not quite solved.

I can verify using your file I can use 32 instructions.

I used your project, removed some of the filters of the peq and tried adding an filter - I get an error message.

Project:

/cfs-file/__key/communityserver-discussions-components-files/396/Project-Using-32-instructions.dspproj

I also tried starting a new project from scratch which has the filter structure quite close to the planned product.

I verified that I never had two filters with the same frequency in a block and no compiler errors, but again - I could not go over 30 Instructions.

I then started another blank project - same issue.

Project:

/cfs-file/__key/communityserver-discussions-components-files/396/adau1772_5F00_bug2.dspproj

Thank you

Tim

pastedimage1689378557569v1.png
pastedimage1689378557569v1.png
pastedimage1689378665030v2.png
pastedimage1689378665030v2.png
galvinpjg Reply
Jul 28, 2023 00:00

Tim,

For the ADAU1772 there are some compiler bugs, in the sense that putting filters in certain sequences will create error messages or run out of accumulators/data operations etc, even when a different project with the same transfer function does not.

Does Dave's project ultimately work for what is needed, or do we need to get the exact cascading of individual filters shown in the above image? If so, we can try to create another project that gets around these issues.