Intel® MAX® 10 FPGA – Board Update Portal: Nios® II Processor, Flash, DDR3, Triple-Speed Ethernet, and UART Design Example

Intel® MAX® 10 FPGA – Board Update Portal: Nios® II Processor, Flash, DDR3, Triple-Speed Ethernet, and UART Design Example

714508
4/28/2016

Introduction

This design example is a web-server-based board update portal (BUP) design which contains a Nios® II processor, a Triple Speed Ethernet media access control (MAC) IP core, and a DDR3 IP core. It allows you to remotely update an FPGA system over Ethernet. For example, it can be used to update the firmware of an embedded FPGA system. The design is based on the Ethernet A port on the Intel® MAX® 10 FPGA Development Kit. Please download and install the board test system (BTS) installer for more details about the BUP design. Also, please see application note AN429: Remote Configuration Over Ethernet with the Nios II Processor (PDF) to learn more about remote updates. Note that this design uses DDR3 memory and the pinout on the development kit changes based on the revision of your kit. See the Intel MAX 10 Development Kit baseline pinout design for a TCL script with the pinout changes between the different revisions of the development kits.

Design Details

Device Family

Intel® MAX® 10 FPGAs

Quartus Edition

Intel® Quartus® Prime Standard Edition

Quartus Version

16.0

IP Cores (42)
IP Core IP Core Category
ALTCLKCTRL ClocksPLLsResets
Altera GPIO Lite Other
Avalon ALTPLL ClocksPLLsResets
Avalon-ST Adapter QsysInterconnect
Avalon-ST Timing Adapter QsysInterconnect
Nios II Gen2 Processor NiosII
On-Chip Memory (RAM or ROM) OnChipMemory
Altera Dual Boot ConfigurationProgramming
Triple-Speed Ethernet Ethernet
Altera Generic QUAD SPI controller ConfigurationProgramming
Altera ASMI Parallel ConfigurationProgramming
Altera EPCQ Serial Flash controller core ConfigurationProgramming
Altera SOFT ASMIBLOCK Other
IRQ Mapper QsysInterconnect
IRQ Clock Crosser QsysInterconnect
JTAG UART ConfigurationProgramming
PIO (Parallel I/O) Other
DDR3 SDRAM Controller with UniPHY ExternalMemoryInterfaces
Altera DDR3 Nextgen Memory Controller ExternalMemoryInterfaces
Altera Nextgen Memory Controller MM-ST Adapter ExternalMemoryInterfaces
Altera DDR3 Nextgen Memory Controller Core ExternalMemoryInterfaces
Altera DDR3 AFI Multiplexer ExternalMemoryInterfaces
DDR3 SDRAM External Memory PHY ExternalMemoryInterfaces
DDR3 SDRAM External Memory PLL/DLL/OCT block ExternalMemoryInterfaces
DDR3 SDRAM Qsys Sequencer ExternalMemoryInterfaces
Avalon-MM Master Agent QsysInterconnect
Avalon-MM Master Translator QsysInterconnect
Avalon-MM Slave Agent QsysInterconnect
Avalon-ST Single Clock FIFO QsysInterconnect
Avalon-MM Slave Translator QsysInterconnect
MM Interconnect QsysInterconnect
Avalon-ST Error Adapter QsysInterconnect
Memory-Mapped Demultiplexer QsysInterconnect
Memory-Mapped Multiplexer QsysInterconnect
Memory-Mapped Traffic Limiter QsysInterconnect
Avalon-ST Handshake Clock Crosser QsysInterconnect
Memory-Mapped Burst Adapter QsysInterconnect
Memory-Mapped Router QsysInterconnect
Reset Controller QsysInterconnect
Scatter-Gather DMA Controller BridgesAndAdaptors
Interval Timer Peripherals
System ID Peripheral Other

Detailed Description

Prepare the design template in the Quartus Prime software GUI (version 14.1 and later)


Note: After downloading the design example, you must prepare the design template. The file you downloaded is of the form of a <project>.par file which contains a compressed version of your design files (similar to a .qar file) and metadata describing the project. The combination of this information is what constitutes a <project>.par file. In releases 16.0 or newer, you can simply double click on the <project>.par file and Quartus will launch that project.


The second means to bring up the project template is through the New Project Wizard (File -> New Project Wizard). After entering the project name and folder on the first panel, the second panel will ask you to specify an empty project or project template. Select project template. You will see a list of Design Templates projects that you have loaded prior as well as various "Baseline Pinout Designs" that contain the pinout and settings for a variety of development kits. If you don't see your design template in the list, click on the link that states install the Design Templates circled below:



Browse to the <project>.par file you downloaded, click next, followed by Finish, and your design template will be installed and displayed in the Project Navigator pane in Quartus.


Note: When a design is stored in the Design Store as a design template, it has been previously regression tested against the stated version of Quartus software. The regression ensures the design template passes analysis/synthesis/fitting/assembly steps in the Quartus design flow.



Prepare the design template in the Quartus Prime software command-line


At the command-line, type the following command:

quartus_sh --platform_install -package <project directory>/<project>.par


Once the process completes, then type:

quartus_sh --platform -name <project>



Note:

* ACDS Version: 16.0.0 Standard


Design Details

Device Family

Intel® MAX® 10 FPGAs

Quartus Edition

Intel® Quartus® Prime Standard Edition

Quartus Version

16.0