Visible to Intel only — GUID: lup1660068391969
Ixiasoft
1. About the External Memory Interfaces Agilex™ 7 M-Series FPGA IP
2. Design Example Quick Start Guide for External Memory Interfaces Agilex™ 7 M-Series FPGA IP
3. Design Example Description for External Memory Interfaces Agilex™ 7 M-Series FPGA IP
4. Document Revision History for External Memory Interfaces Agilex™ 7 M-Series FPGA IP Design Example User Guide
2.1. Creating an EMIF Project
2.2. Generating and Configuring the EMIF IP
2.3. Parameterizing the External Memory Interface for HPS IP
2.4. Configuring DQ Pin Swizzling
2.5. Generating the Synthesizable EMIF Design Example
2.6. Generating the EMIF Design Example for Simulation
2.7. Pin Placement for Agilex™ 7 M-Series EMIF IP
2.8. Compiling the Agilex™ 7 M-Series EMIF Design Example
2.9. Using the EMIF Design Example with the Test Engine IP
2.10. Generating the EMIF Design Example with the Performance Monitor
2.4.1. Example: DQ Pin Swizzling Within DQS group for x32 DDR4 interface
2.4.2. Example: Byte Swizzling for a x32 DDR4 interface, using a memory device of x8 width
2.4.3. Combining Pin and Byte Swizzling
2.4.4. Example: Swizzling for a x32 + ECC interface
2.4.5. Example: Swizzling for a 2Ch x32 + ECC interface
2.4.6. Example: Byte Swizzling for Lockstep Configuration
Visible to Intel only — GUID: lup1660068391969
Ixiasoft
3.1. Synthesis Design Example
The synthesis design example contains the major blocks shown in the figure below.
- A traffic generator is a synthesizable AXI4 driver that implements a hard-coded pattern and monitors the data read from the memory to ensure that it matches the written data, and asserts a failure otherwise. You can select different traffic generator programs when generating the example design. Each program performs the following transactions:
- Single write and read (with AxLEN=axlen_a 1 ) 2
- Single write and read (with AxLEN=axlen_b 1 ) 2
- Sequential address 3 block of m 4 writes and m 4 reads (with AxLEN=axlen_a 1 )
- Sequential address 3 block of m 4 writes and m 4 reads (with AxLEN=axlen_b 1 )
- Random address 5 block of m 4 writes and m 4 reads (with AxLEN=axlen_a 1 )
1 The axlen_a and axlen_b values depend on the memory technology. 2 Repeated for 3 loops in the traffic generator program = Short. 3 Sequential Address pattern starts at address=0, and increments by (AXI_DATA_WIDTH/8)*(AxLEN+1) on each transaction. 4 The m value depends on the traffic generator program. 5 Random address pattern starts at address=0, and uses pseudo-random addresses. Table 20. axlen_a and axlen_b for Different memory Technologies Technology axlen_a axlen_b Notes DDR4 0 0 DDR5 1 0 axlen_b=0 results in Read-Modify-Write or data-masking on the memory side. LPDDR4 3 3 LPDDR5 1 1 Table 21. m value in Different Traffic Generator programs Traffic Generator Program m Short 128 Medium 512 Long 4096 - An instance of the memory interface, which includes:
- A memory controller which implements all the memory commands and protocol-level requirements.
- The PHY, which serves as an interface between the memory controller and external memory devices to perform read and write operations.
Figure 29. Synthesis Design Example Sync Fabric Mode
Figure 30. Synthesis Design Example Async Fabric Mode
Figure 31. Synthesis Design Example NoC Fabric Mode