Embedded Design Handbook

ID 683689
Date 8/28/2023
Public
Document Table of Contents

3.2.1. Intel System on a Programmable Chip (Platform Designer) Solutions

To understand the Nios® II software development process, you must understand the definition of a Platform Designer system. Platform Designer is a system development tool for creating systems including processors, peripherals, and memories. The tool enables you to define and generate a complete Platform Designer very efficiently. Platform Designer does not require that your system contain a Nios® II processor, although it provides complete support for integrating Nios® II processors with your system.

A Platform Designer system is similar in many ways to a conventional embedded system; however, the two kinds of system are not identical. An in-depth understanding of the differences increases your efficiency when designing your Platform Designer system.

In Intel Platform Designer solutions, the hardware design is implemented in an Intel FPGA device. An Intel FPGA device is volatile—contents are lost when the power is turned off— and reprogrammable. When an Intel FPGA is programmed, the logic cells inside it are configured and connected to create a Platform Designer system, which can contain Nios® II processors, memories, peripherals, and other structures. The system components are connected with Avalon® interfaces. After the FPGA is programmed to implement a Nios® II processor, you can download, run, and debug your system software on the system.

Understanding the following basic characteristics of FPGAs and Nios® II processors is critical for developing your Nios® II software application efficiently:

  • FPGA devices and Platform Designer—basic properties:
    • Volatility—The FPGA is functional only after it is configured, and it can be reconfigured at any time.
    • Design—Many Intel Platform Designer systems are designed using Platform Designer and the Intel® Quartus® Prime software, and may include multiple peripherals and processors.
    • Configuration—FPGA configuration can be performed through a programming cable, such as the Intel® FPGA Download Cable , which is also used for Nios® II software debugging operations.
    • Peripherals—Peripherals are created from FPGA resources and can appear anywhere in the Avalon memory space. Most of these peripherals are internally parameterizable.
  • Nios® II processor—basic properties:
    • Volatility—The Nios® II processor is volatile and is only present after the FPGA is configured. It must be implemented in the FPGA as a system component, and, like the other system components, it does not exist in the FPGA unless it is implemented explicitly.
    • Parameterization—Many properties of the Nios® II processor are parameterizable in Platform Designer, including core type, cache memory support, and custom instructions, among others.
    • Processor Memory—The Nios® II processor must boot from and run code loaded in an internal or external memory device.
    • Debug support—To enable software debug support, you must configure the Nios® II processor with a debug core. Debug communication is performed through a programming cable, such as the Intel® FPGA Download Cable.
    • Reset vector—The reset vector address can be configured to any memory location.
    • Exception vector—The exception vector address can be configured to any memory location.