Embedded Design Handbook

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

2.1. FPGAs and Soft-Core Processors

FPGAs can implement logic that functions as a complete microprocessor while providing many flexibility options.

An important difference between discrete microprocessors and FPGAs is that an FPGA contains no logic when it powers up. Before you run software on a Nios® II based system, you must configure the FPGA with a hardware design that contains a Nios® II processor. To configure an FPGA is to electronically program the FPGA with a specific logic design. The Nios® II processor is a true soft-core processor: it can be placed anywhere on the FPGA, depending on the other requirements of the design. Two different variants of the processor are available for Nios® II Gen2, each with flexible features.1

To enable your FPGA-based embedded system to behave as a discrete microprocessor-based system, your system should include the following:

  • A JTAG interface to support FPGA configuration and hardware and software debugging
  • A power-up FPGA configuration mechanism

If your system has these capabilities, you can begin refining your design from a pretested hardware design loaded in the FPGA. Using an FPGA also allows you to modify your design quickly to address problems or to add new functionality. You can test these new hardware designs easily by reconfiguring the FPGA using your system's JTAG interface.

The JTAG interface supports hardware and software development. You can perform the following tasks using the JTAG interface:

  • Configure the FPGA
  • Download and debug software
  • Communicate with the FPGA through a UART-like interface (JTAG UART)
  • Debug hardware (with the Signal Tap II embedded logic analyzer)
  • Program flash memory

After you configure the FPGA with your Nios® II processor-based design, the software development flow is similar to the flow for discrete microcontroller designs.

1 There are three different sizes of the processor that are available for Nios® II Classic.