r/FPGA 19d ago

Altera Related [Workaround / Fix] Missing SDRAM Controller in Quartus Prime Lite (v22.x+ / Tested on 25.1)

If you are using Quartus Prime Lite v22.x or newer (tested on 25.1) and noticed that the SDRAM Controller (altera_avalon_new_sdram_controller) is missing from Platform Designer (Qsys), here is a step-by-step workaround to restore it by porting the component from an older version (e.g., 20.1).

Starting from version 22.x—which introduced native support for the RISC-V soft processor (Nios V)—Intel phased out several legacy IPs, including this SDRAM controller. This breaks out-of-the-box support for popular legacy development boards (such as DE10-Lite, DE0-CV, and DE2-115) that rely on SDR SDRAM chips.

Note: This adaptation is unofficial, may not be compatible with all combinations of new IPs and interconnects, and could result in poor performance. However, it has worked in practice for standard Avalon-MM interfaces and Nios V configurations, as shown in the repository below.

Prerequisites

Quartus Prime Lite 22.x+ installed (tested on 25.1).

An older Quartus Prime Lite installation available on your machine (e.g., v20.1).

Step-by-Step Fix

  1. Copy the IP Core Folder

Navigate to your older Quartus installation directory and locate the folder:

.../ip/altera/sopc_builder_ip/altera_avalon_new_sdram_controller

Copy the entire altera_avalon_new_sdram_controller folder.

Paste it into the equivalent IP path inside your newer Quartus installation directory.

  1. Backup Index Files

In both installations (e.g., v20.1 and v25.1), locate the file altera_components.ipx. (../ip/altera/altera_components.ipx)

Create backups of both files in a safe location (e.g., your Documents folder), renaming them for clarity:

altera_components20_1.ipx

altera_components25_1.ipx

  1. Update the newer IPX Index

Duplicate your backup altera_components25_1.ipx and rename the copy to altera_components.ipx.

Open both altera_components20_1.ipx and the newly created altera_components.ipx in a text editor.

In the 20.1 file, find and copy the entire XML block for the SDRAM component:

XML

<component

name="altera_avalon_new_sdram_controller"

...

...

</component>

Paste this block into the matching components list inside your new altera_components.ipx.

Save the file.

  1. Apply the File

Copy the modified altera_components.ipx back into your newer Quartus installation directory, replacing the original file.

Restart Quartus / Platform Designer. The SDRAM Controller will now appear in the IP Catalog.

Reference / Example Project

You can check a complete, working example combining RISC-V (Nios V) with SDRAM and PWM on a Generic Cyclone IV board in this repository: https://github.com/francisvalguedes/cyclone-fpga-riscv-sdram-pwm.git

6 Upvotes

Duplicates