This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLV320AIC3254 PurePath

Hi team,

We could successfully build the following two setups on the PurePath.

  

But there are some error messages when we combine these two setups (show as below)

How can we fix this issue?

 The error messages are

Generating code for base_main_Rate48 ..  assembling ...MemoryType usage: miniDSP_A_coeff: 155, miniDSP_A_data: 217, miniDSP_A_instr: 377, miniDSP_A_instr_alloc: 389, miniDSP_A_cycles: 324, miniDSP_A_cycles_alloc: 904,miniDSP_D_coeff: 309, miniDSP_D_data: 108, miniDSP_D_instr: 1082, miniDSP_D_instr_alloc: 1086, miniDSP_D_cycles: 691, miniDSP_D_cycles_alloc: 897

 

Assembly failed

Error: (0): Memory size exceeded : miniDSP_D Instruction Memory exceeded by 62 words.

1 error detected

Assembler was terminated.

Summary: 0 Error(s)

Code generation terminated on base main Rate48

Build failed.

  • Hi, Prescott,

    The miniDSP memory size was exceeded in your last configuration. So, you will need to create an algorithm with less blocks. I tried omitting the DRC_9 block and it worked. 

    I hope this helps you. If the problem persists, please let me know.

    Best regards,

    Luis Fernando Rodríguez S.

  • Hi Louis,

    Thanks for the support.

    Removing DRC_9 would impact our audio performance. If I move AGC_28 to the place before DSP_A_DSP_D_1, will audio performance be impacted?
    That is, what the difference is between placing AGC_28 before and after DSP_A_DSP_D_1?

    Regards, Prescott.
  • Hi, Prescott,

    The DSP_A_DSP_D_x block is used to exchange data from the miniDSP_A to the miniDSP_D. It only transfers the data from one block to other. So, it should not be a big difference to use the AGC block before the DSP_A_DSP_D_x block. However, the miniDSP memory is exceeded even if the AGC block is moved. I suggest to try with different configurations to have a similar audio performance and a minimal miniDSP memory usage.

    Best regards,
    Luis Fernando Rodríguez S.
  • Hi Luis,

    With the configuration, I could complete build successfully. Since you said placing AGC before or after DSP_A_DSP_D_1 doesn’t affect the performance/parameters, I think the configuration is okay, right? 

    In addition, for the setting of AIC3254App8x4x_1, there are two parameters minDSP_A_Adaptive and miniDSP_D_Adaptive.

    I found that if I set these two parameters “Enabled” I could not pass the build but I could if they are “Disabled”.

    Could you explain what does “runtime coefficient memory switching” means?

    Thanks.

    Regards, Prescott

  • Hi, Prescott,

    There are two modes to access to the coefficient RAM: Adaptive vs Nonadaptive Mode.

    Adaptive mode means that the coefficients can be changed as needed. The C-RAM size in this mode is half when compared to nonadaptive mode. In the nonadaptive mode, the coefficients cannot be changed as needed (ADCs or DACs need to be powered down for access). Additionally, the C-RAM is doubled.

    When miniDSP_x_Adaptive parameter is enabled, the adaptive mode is activated. So, the memory size is smaller and your algorithm exceeds it. If you don't need to change the coefficients when the ADCs and DACs are powered up, I suggest to disable the miniDSP_x_Adaptive parameters.

    For more information, see the Coefficient RAM Access Mechanisms Application Report.

    I hope this helps you. If you still have questions or comments, please let me know.

    Best regards,

    Luis Fernando Rodríguez S.