SPI Agent to Avalon® Host Bridge

Recommended for:

  • Device: Cyclone® III/V

  • Quartus®: v16.0



This design example demonstrates how to use the SPI Agent to Avalon® Host Bridge to provide a connection between the host and the remote system for SPI transactions.

The system in this design example consists of two sub-systems. The first is the host system, which consists of a Nios® II CPU and SPI Host Core, that initiates the SPI transactions. The second is the remote system which consists of the SPI Agent to Avalon Host Bridge and an on-chip memory. For demonstration purposes, these two sub-systems are connected internally within the Intel® FPGA without going through any physical pin routing.

The software portion demonstrates how to perform read and write transactions using the SPI Agent to Avalon Host Bridge. In order for the SPI Agent to Avalon Host Bridge to successfully convert incoming streams of data into Avalon Memory-Mapped (Avalon-MM) transactions, the host system CPU needs to encode and packetize the streams of data according to the protocols used by the bridge. Similarly, outgoing streams of data from the SPI Agent to the Avalon Host Bridge need to be converted according to the same protocol used by the CPU. The software files needed to perform this process are included in the ZIP file.

This design example is an updated version of Embedded Systems Development Kit, Cyclone® III Edition and is targeted to be used with Cyclone® V SoC development kit.

Figure 1. SPI Agent to Avalon Host Bridge Design Example Block Diagram

Hardware Design Specifications


  • Nios II/f
  • On-chip memory: 156K
  • System timer
  • System ID
  • SPI Core


  • SPI Agent to Avalon Host Bridge
  • On-chip memory: 4K

Download the files used in this example:

For Cyclone V SoC :

Note: This link directs you to the design store to download the design example and quick reference guide document which includes the instructions for running the design.

For Cyclone® III:

Note: The .zip file contains all the necessary hardware and software files to reproduce this example. The readme.txt file includes instructions for running the design.