Post Go back to editing

DSP Utilization Compiler Output, Calculation of Summary value

Category: Software

I am trying out the AEC and RES algorithms on an ADAU1467 Evaluation board. When I am looking at DSP utilization in the compiler output and add up the total values at each sampling rate for DM0 and DM1 they are slightly different from the values shown in "summary". What is the reason for this and which value is the correct one to reference to? You can find the compiler output attached.

Leonard

###### IC 2 ######
ADAU145X Assembler, Analog Devices Inc.
Version: 4.6.0,1809  (built 12/23/2020)

##### Compile Started: Wednesday, July 6, 2022 11:31:51 AM #####
##### Compile succeeded:  0 errors, 0 warnings #####

##### Summary #####
DM0 RAM used:       10765    (of 40960)
DM1 RAM used:       11521    (of 40960)
PM  RAM used(Data): 00000    (of 24576)
PM  RAM used(Inst): 03671    (of 24576) 2845 instructions (32bit: 2019  64bit: 826)
Total PM used:      03671    (of 24576)

--------------------------------------------------------------------------------------
STREAM fs=16000               Inst      Inst      DM0     DM1     PM
Instance                      (cycles)  (size)    
--------------------------------------------------------------------------------------
STACK                          -         -        92      0       0       
FRAMEWORK                     183       187       167     8       0
FIR1_5                        58        29        192     98      0
FIR1                          58        29        192     96      0
FIR1_2                        58        29        192     1       0
Tone1                         18        18        10      1       0
Tone1_2                       18        18        10      1       0
Tone1_3                       18        18        10      1       0
Tone1_4                       18        18        10      1       0
FIR1_6                        30        16        96      97      0
FIR1_3                        30        16        96      96      0
FIR1_4                        30        16        96      96      0
Square1                       14        15        6       1       0
Delay1                        10        14        1       196     0
DownSampling1                 9         13        0       2       0
ControlPort11                 8‡        10        5       3       0	using: __ISR_Write__	using: __ISR_Read__	using: __MASTER_CONTROL_PORT_COMMON_INIT__	using: __MASTER_CONTROL_PORT_MasterControlPortTriggereAlg1_INT_WAIT__
Delay1_2                      7         9         1       98      0
Single 1                      5         7         1       1       0
Single 2                      5         7         1       1       0
Add2                          4         7         0       1       0
RegWrite1_2                   5         6         1       0       0
AsrcIn1                       5         5         0       4       0
Add1                          4         5         0       1       0
ReadBack3_4                   3         4         1       1       0
ReadBack3_6                   3         4         1       1       0
ReadBack2                     3         4         1       1       0
ReadBack1                     3         4         1       1       0
ReadBack2_2                   3         4         1       1       0
ADC In1_2                     4         4         0       1       0
ADC In1                       4         4         0       1       0
ReadBack3_5                   3         3         1       1       0
ReadBack3_3                   3         3         1       0       0
AsrcOut1_2                    2         3         0       0       0
DC1                           2         2         1       1       0
DC1_2                         2         2         1       0       0
AsrcOut1                      2         2         0       0       0
AsrcOut1_8                    2         2         0       0       0
AsrcOut1_5                    2         2         0       0       0
AsrcOut1_6                    2         2         0       0       0
AsrcOut1_7                    2         2         0       0       0
(‡ Jump instruction present, actual cycle count may differ.)

Subroutines called:
__ISR_Write__                 1         12        4       0       0
__ISR_Read__                  1         39        12      0       0
__MASTER_CONTROL_PORT_COMMON_I1         72        6       0       0
__MASTER_CONTROL_PORT_MasterCo1         95        75      0       0
--------------------------------------------------------------------------------------
Total                         644       761       1285    813     0
--------------------------------------------------------------------------------------
(% Fs=16.0kHz)                4%        4%        4%      2%      0%


--------------------------------------------------------------------------------------
STREAM fs=8000                Inst      Inst      DM0     DM1     PM
Instance                      (cycles)  (size)    
--------------------------------------------------------------------------------------
STACK                          -         -        92      0       0       
AEC1                          140*      175       662     1938    0
AEC1_2                        140*      171       662     1938    0
FRAMEWORK                     140       156       155     0       0
Mic Low_2                     14†‡      14        0       8       0
Mic Low                       14†‡      14        0       8       0
BlockInput1_2                 14†‡      14        0       8       0
BlockInput2_2                 14†‡      14        0       8       0
UpSampling1                   8         13        1       0       0
BlockInput1                   13†‡      13        0       8       0
BlockInput2                   13†‡      13        0       8       0
BlockOutput1                  11‡       11        0       9       0
BlockOutput1_2                11‡       11        0       9       0
DCB1_2                        8         8         3       3       0
DCB1                          8         8         3       3       0
(* Variable loop present, actual cycle count may differ.)
(† Call instruction present, actual cycle count may differ.)
(‡ Jump instruction present, actual cycle count may differ.)

Subroutines called:
__ISR_Write__                 1         12        4       0       0
__ISR_Read__                  1         39        12      0       0
__MASTER_CONTROL_PORT_COMMON_I1         72        6       0       0
__MASTER_CONTROL_PORT_MasterCo1         95        75      0       0
--------------------------------------------------------------------------------------
Total                         552       853       1675    3948    0
--------------------------------------------------------------------------------------
(% Fs=8.0kHz)                 2%        4%        5%      10%     0%


--------------------------------------------------------------------------------------
BLOCK fs=8000   size=128      Inst      Inst      DM0     DM1     PM
Instance                      (cycles)  (size)  
--------------------------------------------------------------------------------------
MALLOC                         -        252       632     4864    0
FRAMEWORK                     116       136       153     0       0
RES1                          287*†     217       2564    774     0
RES1_2                        287*†     217       2564    774     0
Synthesis Window1_2           269†      31        257     132     0
Synthesis Window1             269†      31        257     132     0
Analysis Window1_2            268†      27        260     4       0
Analysis Window1_4            268†      27        260     4       0
Analysis Window1_3            268†      27        260     4       0
Analysis Window1_5            268†      27        260     4       0
Analysis Window1              268†      27        260     4       0
Analysis Window1_6            268†      27        260     4       0
FFT1_5                        3122†     12        0       4       0	using: Complex FFT Sub DM1256
FFT1_4                        3122†     12        0       4       0	using: Complex FFT Sub DM1256
FFT1_6                        3122†     12        0       4       0	using: Complex FFT Sub DM1256
FFT1                          3122†     12        0       4       0	using: Complex FFT Sub DM1256
IFFT1_2                       3468†     12        0       4       0	using: Complex IFFT Sub DM1256
FFT1_3                        3122†     12        0       4       0	using: Complex FFT Sub DM1256
FFT1_2                        3122†     12        0       4       0	using: Complex FFT Sub DM1256
IFFT1                         3468†     12        0       4       0	using: Complex IFFT Sub DM1256
BlockInput3                   2         2         0       4       0
BlockInput3_4                 2         2         0       4       0
BlockInput3_5                 2         2         0       4       0
BlockInput3_3                 2         2         0       4       0
BlockInput3_2                 2         2         0       4       0
BlockInput3_6                 2         2         0       4       0
BlockOutput2_2                2         2         0       0       0
BlockOutput2                  2         2         0       0       0
ControlPort11                 1         1         0       0       0
(* Variable loop detected, actual cycles may differ.)
(† Call instruction present, actual cycle count may differ.)

Subroutines called:
Complex FFT Sub DM1256              -        488       3       0       0
Complex IFFT Sub DM1256             -        541       0       0       0
--------------------------------------------------------------------------------------
Total                         28521     2188      7990    6756    0
--------------------------------------------------------------------------------------
(%)                           1%        9%        20%     17%     0%
Instructions Per-Block-Frame (total/blocksize):  223




Files written:
----------------------------------------------------
compiler_output.log: 	compiler output report
report.dat:   		#report/#report_text output
DMem0.dat:     		DM0 content (hex)
DMem1.dat:     		DM1 content (hex)
PMem.dat:      		PM  data content (hex)
Program.bin:   		PM program content (binary)
Program.dat:   		PM program content (hex)
ParamAddress.dat:   		Parameter RAM locations for schematic instances



############
Obsolete algorithm code encountered in this project:
http://wiki.analog.com/resources/tools-software/sigmastudio/usingsigmastudio/buildingschematics/obsoletealgorithms

1. Cell: ControlPort11, Algorithm: Master Control Port IO Runtime

######