Forum Discussion

AngelaGonzalez's avatar
AngelaGonzalez
Icon for New Contributor rankNew Contributor
12 months ago

Access SD card from FPGA fabric in Agilex7

Hi,

We want to prototype an open source RISC-V core running Linux in the Agilex 7 F-series development kit (DK-DEV-AGF014EA).

The board has an SD/MMC socket which we want to use to provide the Linux image, but it is connected to the SD/MMC Controller in the HPS. However, we do not want to use the HPS as a core, but the RISC-V core in the FPGA.

We have seen it is possible to route the SD/MMC controller in the FPGA, but if we understand correctly this is not allowing what we want, this is allowing to connect the SD Controller to another SD socket that could exist in other pins (not our case).

What would be the best way to connect the SD socket to the core in the FPGA? We can think of two options, but are not 100% sure of any:

- Option A: instantiate the HPS with SD/MMC controller in the design and connect to the core in the FPGA via AXI (HPS as slave). Then the core in the FPGA can request the data from SD via AXI, and the HPS should handle the SD/MMC in software.

- Option B: instantiate the HPS with SD/MMC controller and DMA in the design. The HPS would configure the DMA to transfer the data to the DDR, and by the time the core in the FPGA wants to use this data, it is already there (and if not wait).

Is there a reference design we can use as starting point?

Thanks!

6 Replies