1. AM64x Datasheet¶
1.1. Introduction¶
This section provides the performance numbers of device drivers supported in PDK
1.1.1. Setup Details¶
SOC Details | Values |
---|---|
Core | R5F |
Core Operating Speed | 800MHz |
DDR Speed | 2666 MHz |
Cache status | Enabled |
Optimization Details | Values |
---|---|
Profile | Release |
Compile Options for R5F | -g -ms -DMAKEFILE_BUILD -c -qq -pdsw225 –endian=little -mv7R5 –abi=eabi -eo.oer5f -ea.ser5f –symdebug:dwarf –embed_inline_assembly –float_support=vfpv3d16 –emit_warnings_as_errors |
Linker Options for R5F | –emit_warnings_as_errors -w -q -u _c_int00 -c -mv7R5 –diag_suppress=10063 -x –zero_init=on |
Code Placement | DDR |
Data Placement | DDR |
1.1.2. Software Performance Numbers¶
1.1.2.1. UDMA¶
1.1.2.1.1. DMA Parameters¶
- Ring Order ID: 0
- Channel Order ID: 0
- Channel DMA Priority: 1
- Channel Bus Priority: 4
- Channel BUS QOS: 4
- Channel TX FIFO depth: 128
- Channel Fetch Word Size: 16
- Channel Burst Size: 64 bytes
1.1.2.1.2. Test Parameters¶
- Type: TR15 Block copy
- TR: one TR per TRPD in PBR mode
- TR Memory: Same as buffer memory (DDR, MSMC or OCMC depends on the test performed)
- Transfer Size: 1 MB read and 1MB write
- 1MB means 1000x1000 bytes and 1KB means 1000 bytes
Note: Throughput numbers mentioned is the combined memory throughput of both read and write operations
1.1.2.1.3. BCDMA Blockcopy (Normal Capacity Channel)¶
BCDMA normal capacity channel performance with TR submitted through ring
Test Description | Throughput (MB/sec) | |
---|---|---|
MPU1 | MCU1/2 | |
[PDK-3485] 1CH DDR 1MB to DDR 1MB | 1236 MB/s | 989 MB/s | ||
[PDK-3486] 1CH MSMC 1KB Circular to DDR 1MB | 2776 MB/s | 2221 MB/s |
[PDK-3487] 1CH DDR 1MB to MSMC circular 1KB | 1895 MB/s | 1516 MB/s |
[PDK-3488] 1CH MSMC 1KB to MSMC circular 1KB (1MB per TR) | 2488 MB/s | 1991 MB/s |
[PDK-3494] Multi CH DDR 1MB to DDR 1MB | 2255 MB/s | 1998 MB/s |
[PDK-3496] Multi CH MSMC 1KB to MSMC circular 1KB (1 MB per TR) | 2499 MB/s | 1999 MB/s |
1.1.2.2. IPC¶
Release build binaries are used for measurement
Ring Buffer : Uncached DDR
Buffer to be sent (RPMSG) – Cached DDR
Software/Application Used : ipc_multicore_perf_test loaded through SBL. Output is printed to UART.
R5F/MPU config : DDR config
- bufferable - 1
- cacheable - 1
- shareable - 0
Capturing Round trip time in us with different data sizes
1.1.2.2.1. Performance - Host Core A53, Bios, 1 GHz¶
Remote Core | 4 Bytes | 8 Bytes | 16 Bytes | 32 Bytes | 64 Bytes | 128 Bytes | 256 Bytes |
---|---|---|---|---|---|---|---|
MCU R5F0_0 | 15 | 15 | 16 | 18 | 21 | 28 | 41 |
MCU R5F0_1 | 15 | 15 | 16 | 17 | 21 | 27 | 40 |
MCU R5F1_0 | 15 | 15 | 16 | 17 | 21 | 27 | 40 |
MCU R5F1_1 | 15 | 15 | 16 | 17 | 21 | 27 | 40 |
1.1.2.2.2. Performance - Host Core MCU R5F0, 800 MHz¶
Remote Core | 4 Bytes | 8 Bytes | 16 Bytes | 32 Bytes | 64 Bytes | 128 Bytes | 256 Bytes |
---|---|---|---|---|---|---|---|
A53 (bios) | 19 | 20 | 21 | 23 | 27 | 35 | 52 |
MCU R5F0_1 | 19 | 20 | 22 | 26 | 33 | 48 | 77 |
MCU R5F1_0 | 19 | 20 | 22 | 26 | 33 | 48 | 77 |
MCU R5F1_1 | 19 | 20 | 22 | 26 | 33 | 48 | 77 |
1.1.2.2.3. Performance - Host Core MCU R5F0, 800 MHz¶
Remote Core | 4 Bytes | 8 Bytes | 16 Bytes | 32 Bytes | 64 Bytes | 128 Bytes | 256 Bytes |
---|---|---|---|---|---|---|---|
A53 (bios) | 19 | 20 | 21 | 22 | 27 | 35 | 51 |
MCU R5F0_0 | 19 | 20 | 22 | 26 | 33 | 48 | 77 |
MCU R5F0_1 | 19 | 20 | 22 | 26 | 33 | 48 | 77 |
MCU R5F1_1 | 19 | 20 | 22 | 26 | 33 | 48 | 77 |
1.1.2.3. OSPI¶
1.1.2.3.1. Test Set-up¶
- Platform: AM64x EVM.
- OS Type: Baremetal/Sysbios
- Core : R5F_0 at 800 MHz, A72_0 at 1 GHz.
- Software/Application Used: OSPI_Flash_TestApp/OSPI_Flash_Dma_TestApp/OSPI_Baremetal_Flash_TestApp/OSPI_Flash_Dma_TestApp
- System Configuration: Cache OFF, Read/Write Buffer in DDR. DMA Enabled/Disabled, Interrupts ON.
1.1.2.3.2. OSPI Read/Write Performance (DDR Octal Mode)¶
OSPI RCLK | OS | CPU | Mode | Write Tput (MB/s) | Write CPU Load | Read Tput (MB/s) | Read CPU Load |
---|---|---|---|---|---|---|---|
133 MHz | Baremetal | R5F_0 | DAC | 100% | 7 | 100% | |
DAC DMA | 100% | 110 | 100% | ||||
INDAC | 0.525 | 100% | 37 | 100% | |||
A72_0 | DAC | 100% | 6.625 | 100% | |||
DAC DMA | 100% | 106.25 | 100% | ||||
INDAC | 0.534 | 100% | 22.125 | 100% | |||
RTOS | R5F_0 | DAC | 100% | 7 | 100% | ||
DAC DMA | 100% | 109.25 | 59% | ||||
INDAC | 0.528 | 100% | 23.125 | 100% | |||
A72_0 | DAC | 100% | 8.25 | 100% | |||
DAC DMA | 100% | 132.25 | 60% | ||||
INDAC | 0.669 | 100% | 27.75 | 100% | |||
166 MHz | Baremetal | R5F_0 | DAC | 100% | 7.875 | 100% | |
DAC DMA | 100% | 129.875 | 100% | ||||
INDAC | 0.523 | 100% | 23 | 100% | |||
A72_0 | DAC | 100% | 7.625 | 100% | |||
DAC DMA | 100% | 123.5 | 100% | ||||
INDAC | 0.536 | 100% | 22.25 | 100% | |||
RTOS | R5F_0 | DAC | 100% | 7.875 | 100% | ||
DAC DMA | 100% | 129.125 | 62% | ||||
INDAC | 0.527 | 100% | 23 | 100% | |||
A72_0 | DAC | 100% | 9.375 | 100% | |||
DAC DMA | 100% | 154.125 | 57% | ||||
INDAC | 0.667 | 100% | 27.75 | 100% |
1.1.2.4. MMCSD¶
1.1.2.4.1. Test Set-up¶
- Platform: AM64x EVM.
- OS Type: Sysbios
- Core : A72_0, 1000 Mhz.
- Software/Application Used: MMCSD_<EMMC>_Regression_TestApp (A menu based application which outputs the benchmark numbers on UART)
- System Configuration: Cache ON, Read/Write Buffer in DDR. ADMA enabled, Interrupts ON.
- SD Card used: Sandisk 16GB, Class 10. FAT32 formatted with allocation size = 4K (for optimal FAT32 throughput & compatibility with various cards)
- EMMC: EMMC on AM64x EVM. Please refer to the EVM data sheet for details
1.1.2.4.2. SD Card Performance¶
1.1.2.4.2.1. DS Mode (25 Mhz, 4-bit) Theoretical Max: 12.5 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) | FATFS Write Throughput (MB/s) | FATFS Read Throughput (MB/s) |
---|---|---|---|---|
256 | 7.6698 | 12.1902 | 8.0597 | 10.7262 |
512 | 10.7129 | 12.7458 | 8.1154 | 11.7397 |
1024 | 11.2983 | 12.7858 | 8.2127 | 11.7765 |
2048 | 11.4035 | 12.8057 | 7.8079 | 11.7811 |
5120 | 10.4190 | 12.7327 | 8.0580 | 11.7923 |
1.1.2.4.2.2. HS Mode (50 Mhz, 4-bit) Theoretical Max: 50 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) | FATFS Write Throughput (MB/s) | FATFS Read Throughput (MB/s) |
---|---|---|---|---|
256 | 15.6327 | 23.1970 | 6.1766 | 21.3031 |
512 | 17.1978 | 25.3053 | 7.1531 | 21.5917 |
1024 | 19.6301 | 25.4638 | 10.8144 | 21.8326 |
2048 | 20.1266 | 25.5414 | 10.5028 | 21.8620 |
5120 | 16.1277 | 25.2529 | 10.0321 | 21.8806 |
1.1.2.4.2.3. SDR12 Mode (25 Mhz, 4-bit) Theoretical Max: 12.5 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) | FATFS Write Throughput (MB/s) | FATFS Read Throughput (MB/s) |
---|---|---|---|---|
256 | 10.4441 | 12.1737 | 7.4638 | 11.6136 |
512 | 11.7706 | 12.7451 | 8.3473 | 11.2668 |
1024 | 12.1422 | 12.7849 | 8.1162 | 11.7605 |
2048 | 10.6161 | 12.6480 | 8.7243 | 11.7944 |
5120 | 10.5560 | 12.7905 | 7.7535 | 11.7644 |
1.1.2.4.2.4. SDR25 Mode (50 Mhz, 4-bit) Theoretical Max: 25 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) | FATFS Write Throughput (MB/s) | FATFS Read Throughput (MB/s) |
---|---|---|---|---|
256 | 18.2026 | 23.1671 | 8.6253 | 21.3138 |
512 | 22.3404 | 23.2119 | 11.5208 | 21.7179 |
1024 | 23.5901 | 25.4608 | 11.7399 | 21.8375 |
2048 | 18.4276 | 25.4902 | 9.6887 | 21.8445 |
5120 | 18.7401 | 25.4801 | 10.5616 | 21.7928 |
1.1.2.4.2.5. SDR50 Mode (50 Mhz, 4-bit) Theoretical Max: 50 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) | FATFS Write Throughput (MB/s) | FATFS Read Throughput (MB/s) |
---|---|---|---|---|
256 | 10.2785 | 12.1818 | 8.2445 | 11.6118 |
512 | 11.6902 | 12.7454 | 8.7071 | 11.7211 |
1024 | 12.1075 | 12.7850 | 5.7749 | 11.7567 |
2048 | 10.6031 | 12.6482 | 8.1000 | 11.7854 |
5120 | 10.6788 | 12.7856 | 8.3636 | 11.7928 |
1.1.2.4.2.6. DDR50 Mode (50 Mhz, 4-bit) Theoretical Max: 50 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) | FATFS Write Throughput (MB/s) | FATFS Read Throughput (MB/s) |
---|---|---|---|---|
256 | 6.9305 | 12.0953 | 8.5565 | 11.5589 |
512 | 10.0143 | 12.6839 | 4.6335 | 11.2046 |
1024 | 8.3383 | 12.6585 | 8.3296 | 11.7760 |
2048 | 11.3560 | 12.8060 | 8.6380 | 11.7942 |
5120 | 11.7524 | 12.8179 | 9.0731 | 11.7941 |
1.1.2.4.3. EMMC Performance¶
1.1.2.4.3.1. DS Mode (25 Mhz, 8-bit) Theoretical Max: 25 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) |
256 | 17.9307 | 24.1654 |
512 | 21.7098 | 24.3818 |
1024 | 22.2063 | 24.5315 |
2048 | 22.9107 | 24.6094 |
5120 | 23.1459 | 24.6557 |
1.1.2.4.3.2. HS-SDR Mode (50 Mhz, 8-bit) Theoretical Max: 50 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) |
256 | 28.9045 | 47.3296 |
512 | 40.5394 | 48.0476 |
1024 | 43.1190 | 48.6487 |
2048 | 44.8207 | 48.9602 |
5120 | 44.5454 | 49.1382 |
1.1.2.4.3.3. HS-DDR Mode (50 Mhz, 8-bit) Theoretical Max: 100 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) |
256 | 37.8440 | 85.2685 |
512 | 55.7174 | 87.8997 |
1024 | 61.1965 | 89.9847 |
2048 | 62.9917 | 90.9917 |
5120 | 65.6862 | 91.6242 |
1.1.2.4.3.4. HS-200 Mode (200 Mhz, 8-bit) Theoretical Max: 200 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) |
256 | 59.5625 | 167.1338 |
512 | 60.1588 | 176.7500 |
1024 | 59.9475 | 185.2541 |
2048 | 63.2776 | 189.7290 |
5120 | 63.6930 | 192.3779 |
1.1.2.4.3.5. HS-400 Mode (200 Mhz, 8-bit) Theoretical Max: 400 MB/s¶
Size of transfer (KB) | RAW Write Throughput (MB/s) | RAW Read Throughput (MB/s) |
256 | 45.7704 | 277.5628 |
512 | 70.1400 | 299.8706 |
1024 | 59.7322 | 327.6698 |
2048 | 62.2072 | 286.5238 |
5120 | 64.9819 | 254.8713 |
1.1.2.5. CSL-FL based Optimized OSPI Example¶
1.1.2.5.1. CPU Mode - Test Set-up¶
Platform: AM64x EVM.
OS Type: Baremetal
Core : R5F_0 at 800 MHz
Software/Application Used: csl_ospi_flash_app
- System Configuration:
- RCLK 133/166 MHz
- Cache ON,
- Buffer & Critical Fxn’s in TCMB,
- DMA Disabled,
- Interrupts ON.
- Theoretical Max Throughput:
- 133 MHz :- 253.67 MB/s
- 166 MHz :- 316.62 MB/s
1.1.2.5.2. DAC Mode OSPI Read Performance (Dual Data Rate - Octal Mode)¶
OSPI RCLK | Size of transfer (B) | Read Time (ns) | Throughput (MB/s) |
---|---|---|---|
133 MHz | 16 | 2530 | 6.3 |
32 | 2915 | 11.0 | |
64 | 4335 | 14.8 | |
128 | 6560 | 19.5 | |
256 | 11435 | 22.4 | |
166 MHz | 16 | 2010 | 8.0 |
32 | 2920 | 11.0 | |
64 | 4045 | 15.8 | |
128 | 6600 | 19.4 | |
256 | 11125 | 23.0 |
1.1.2.5.3. DMA Mode - Test Set-up¶
OS Type: Baremetal
Core : R5F_0 at 800 MHz
Software/Application Used: udma_baremetal_ospi_flash_testapp
- System Configuration:
- RCLK 133 MHz
- Cache ON,
- Buffer & Critical Fxn’s in TCMB,
- DMA Enabled - SW Trigger mode,
- Interrupts OFF.
1.1.2.5.4. DAC DMA Mode OSPI Read Performance (Dual Data Rate - Octal Mode)¶
OSPI RCLK | Size of transfer (B) | Read Time (ns) | Throughput (MB/s) |
---|---|---|---|
133 MHz | 16 | 1850 | 8.6 |
32 | 800 | 40 | |
64 | 1085 | 60 | |
128 | 2060 | 62.1 | |
256 | 3795 | 67.5 | |
512 | 7290 | 70.2 | |
1024 | 14265 | 71.8 |