Forum Discussion

dynamite1981's avatar
dynamite1981
Icon for New Contributor rankNew Contributor
11 months ago

128GB DRAM configuration problem with CXL IP

We are running into an issue when trying to upgrade the DRAM capacity of the Agilex 7 CXL-enabled FPGA. We are following the guide called "Agilex™ 7 R-Tile Compute Express Link* (CXL*) 1.1/2.0 FPGA IP Design Example User Guide" V 1.16 (updated for Quartus Prime 25.1, IP version 1.16),  Appendix B "Updating HDM Size".

In particular, when we try the 128G design, using the parameters in Table 47, we successfully boot the machine and can use `numactl --hardware` to read that the Linux kernel is interpreting it as a 128G CPUless NUMA node. However, when we map the CXL memory (using /dev/mem) and begin to read and write to it, we see that in reality, there appears to only be 16G looped 8 times. In other words, if we write to address 0, and then read from address 16*2^30 or 32*2^30, we get back the same value.

It seems like we must not be updating a parameter that increases the address bitwidth, but we have made all of the modifications as described in the appendix and tried a COE-disabled version.

For context, we are running our 128G design in a 2x64G DIMM configuration rather than using a single 128G stick (DDR4 doesn't officially support 128G sticks). Is this the correct configuration? We ask because the board came with only 1x16G, and we aren't sure if the hardware/IP is capable of automatically recognizing the second DIMM or if additional configuration is required.

1 Reply

  • Hi,

    Since you're using a larger DDR, please confirm you've updated EMIF settings. After this, you may need to update data width for MC Top and other related modules.

     

    Regards,

    Rong