Visible to Intel only — GUID: shn1743179708185
Ixiasoft
- 4.1.2. s0_axi4_clock_out for Agilex 7 M-Series External Memory Interfaces (EMIF) IP - DDR4 Component
- 4.3.2. s0_axi4_clock_out for Agilex 7 M-Series External Memory Interfaces (EMIF) IP - DDR5 Component
Visible to Intel only — GUID: shn1743179708185
Ixiasoft
10.1. mrh_Optimizing Efficiency for Secondary Controller
- 2ch x16 LPDDR5 / DDR5
- 4ch x16 LPDDR5
- 1ch x16 of LPDDR5 / DDR5 on the top sub-bank
Asychronous Clocking Mode (Fabric Direct - User Clock Asychronous to PHY)
You can improve the efficiency for sequential access pattern on the secondary controller by increasing the AXI clock frequency. Recommendation is to set the AXI clock frequency to a higher frequency. You can further improve the efficiency of sequential write access pattern on the secondary controller by increasing the burst length as shown in the Table 1. The data shown in the table is obtained by using a 2ch x16 LPDDR5 design, running at 1066.667MHz.
AXI Clock Frequency (MHz) | Pattern | Burst Length | Controller Efficiency (%) | |
---|---|---|---|---|
Primary | Secondary | |||
133.333 (Equivalent to Sync Mode) |
Sequential write | 2 | ~90 | ~40 |
Sequential read | ~90 | ~50 | ||
266.667 |
Sequential write | 2 | ~90 | ~75 |
Sequential read | ~90 | ~90 | ||
Sequential write | 4 | ~90 | ~80 | |
Sequential read | ~90 | ~90 | ||
Sequential write | 8 | ~90 | ~90 | |
Sequential read | ~90 | ~90 | ||
Sequential write | 16 | ~90 | ~90 | |
Sequential read | ~90 | ~90 |
Random access patterns or mixed traffic patterns can mitigate the differences in the efficiency for the primary controller and secondary controller.
AXI Clock Frequency (MHz | Pattern | Burst Length | Controller Efficiency (%) | |
---|---|---|---|---|
Primary | Secondary | |||
133.333 | Random write | 2 | ~40 | ~39 |
Random read | ~38 | ~38 | ||
266.667 | Random write | 2 | ~41 | ~41 |
Random read | ~38 | ~38 |
With increased AXI clock frequency, the efficiency number reported by the PMON IP represents the utilization of the AXI bus instead of controller efficiency. The following equation represents the efficiency of the memory controller:
Controller efficiency = AXI transactions accepted by AXI bus / Memory Controller Bandwidth * 100 %
= ( PMON efficiency * AXI Clock Freq * 256-bit ) / (16-bit * Mem Clock Freq ) * 100%
Synchronous Clocking Mode (Fabric Direct – User Clock Synchronous to PHY)
In LPDDR5 and DDR5 memory interface, when using x16 2-channel configuration for long burst sequential access during write or read operation, performance is limited to 50% per read/write sub-channel for the secondary controller.
If your application requires high controller efficiency for sequential access pattern, it is recommended to use asynchronous clocking mode. Random access patterns or mixed traffic patterns can mitigate the differences in the efficiency for the primary controller and secondary controller.
Note that in synchronous clocking mode, the efficiency for the primary controller used for implementing a x32 DDR5/LPDDR5 memory interface has reduced performance. This is because the bandwidth for AXI bus is only half of the bandwidth for the memory controller.
AXI Bus Bandwidth = AXI Clock Freq x 256-bit = ( Memory Clock Freq / 8 ) * 256 = 32 * Memory Clock Frequency
Memory Controller Bandwidth = Memory Clock Freq * 2 * 32-bit = 64 * Memory Clock Frequency = 2 * AXI Bus Bandwidth