This guide describes how to design a new FPGA configuration with a custom Intel Quartus Prime project. That configuration can be written during boot or on runtime by Linux. For each board the used default configuration and a version with a Intel NIOS II Soft-Core processor inside this repository are available. The Quartus Prime Project with the Intel NIOS II Soft-Core processor is connected via the FPGA2HPS-Bridge to the Hard-IP of the HPS. This allows to use Hard-IP components, such as CAN with the NIOS II.
-
Instal Intel Quartus Prime (18.1 or newer)
-
A step-by-step guide how to install Intel Quartus Prime on Linux is available here (Of cause NIOS II support is only for a NIOS II Project required)
-
Use a demo project
- Clone the Intel Quartus Prime archive file (.qar) from this repository for your project
- Start Intel Quartus Prime and choose
Project/Archive Project
to select the archive file - Start the Compilation of the Quartus Prime project
-
Design your own FPGA configuration file
- I wrote a guide to show in steps how to design a custom Quartus Prime project and how to use FPGA I/O with the HPS and Linux
rsYocto allows with the layer meta-rstools
to change the FPGA configuration with a single Linux command. That was shown in chapter 2 with:
FPGA-writeConfig -f gpiConf.rbf
Note: The new build system can do these steps automatically!
-
for the Arria 10:
- Be sure that "Enables the HPS early release of HPS IO" is enabled in the Quartus Prime- and HPS- Settings
- To split the configuration in a peripheral- and core- configuration
- This allows to hold for example the memory configuration of the HPS during FPGA configuration changes
- For more information please visit the Intel Arria 10 documentation page
- Execute the following EDS-Shell command:
quartus_cpf -c --hps -o bitstream_compression=on rsHAN.sof socfpga.rbf
- SOF here:
rsHAN.sof
- RBF here:
socfpga.rbf
- SOF here:
- With this command two configuration files for the HPS- and Memory-System and for everything else are generated
- Output:
socfpga.periph.rbf
andsocfpga.core.rbf
- Output:
- Be sure that "Enables the HPS early release of HPS IO" is enabled in the Quartus Prime- and HPS- Settings
-
for the Cyclone V:
-
For configuration of the FPGA with Linux use these export settings:
-
For configuration of the FPGA during the boot use these export settings:
-