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.

AM62A7: Porting C7x code from TDA4 family

Part Number: AM62A7
Other Parts Discussed in Thread: TDA4VM, TDA4VL

Hello,
similar to Andrea from the related question, I would like to run my own custom code on the C7x DSP core. More specifically, I would like to port some kernels I already wrote for the TDA4VM platform.

Therefore, in addition to some documentation on how to compile and deploy to it, I would like to know what the differences are between the C7x on the AM62A and the one on the TDA4. From what little information I could find in the datasheet and reference manual, it seems to me that at the very least the SIMD width was cut in half (256 bits instead of 512). Is this the only change or did you also change the instruction set or the peripherals like the Streaming Engines and Address Generators?

Can you provide some details on this please?

Kind regards,
Moritz

  • Hi Moritz,

    HEre is a high level comparison between TDA4VM and AM62A C7x implementations:

    DSP Class

    256-bit

    512-bit

    Feature

    c7x-256

    c7x-mma-256

    c7x-512

    c7x-512-mma

    Instruction Issue Slots

    13

    13

    13

    13

    Load/store B/W

    3 x 256 L, 256 S

    3 x 256 L, 256 S

    3 x 512 L, 512 S

    3 x 512 L, 512 S

    SIMD Lanes byte/half/word/dword

    32/16/8/4

    32/16/8/4

    64/32/16/8

    64/32/16/8

    Real MAC / cycle (b/h/w/d)

    64/64/16/4

    1024/64/16/4

    128/128/32/8

    4096/1024/256/8

    16-bit Complex MAC / cycle

    16

    16

    32

    256

    Floating pt MAC (SP/DP)

    16/4

    16/4

    32/8

    32/8

    Floating pt FLOPS (SP/DP)

    40/16

    40/16

    80/32

    80/32

    System Bandwidth -- Master port

    256-bit

    256-bit

    512-bit

    512-bit

    System Bandwidth -- Slave port

    256-bit

    256-bit

    512-bit

    512-bit

    Also, note there are other difference like AM62A C7x implementation doesn`t support LUT and if you are refering to C7x Compiler documentation the C7504 is the AM62A C7x implementation and C7100 is the TDA4VM implementation.

    The Device Mapping of C7x variants to devices is as follows:

    TDA4VM(C7100), TDA4VL(C7120) and AM62A(C7504)

    You can request C7000 C/C++ Optimization Guide from your TI local FAE contact 

    C7x Instruction Guide (SPRUIU4)

    Hope this helps.

    Regards,

    Rahul