Project

General

Profile

A5E-Base-Example

Overview

The A5E base example is an HPS-centric reference design. The base configuration is intended as a clean starting point for HPS boot, memory bring-up, and peripheral validation.

The primary purpose of this design is to:

  • Bring up the Agilex 5 HPS
  • Connect the HPS to onboard LPDDR4 through the HPS EMIF controller
  • Expose the board's HPS-connected peripheral interfaces for software development and platform bring-up
  • Provide a small amount of FPGA-side support logic that the HPS can access through the lightweight HPS-to-FPGA bridge

In other words, this project is a clean starting point for HPS boot, Linux bring-up, peripheral validation, and incremental expansion of the design.

                       ┌──────────────────────────────┐
                       │         LPDDR4 Memory        │
                       │    via HPS EMIF Controller   │
                       └──────────────────────────────┘
                                      ▲
                                      │ HPS EMIF
                                      ▼
        ┌───────────────────────────────────────────────────────────┐
        │                        Agilex 5 HPS                       │
        │                                                           │
        │  - Boot / application processing                          │
        │  - Peripheral controllers and HPS I/O                     │
        │  - HPS GP signals                                         │
        └───────────────────────────────────────────────────────────┘
                                ▲                     ▲
                                │ HPS pins            │ Lightweight
                                │ to board I/O        │ HPS-to-FPGA
                                │                     │ bridge
                                ▼                     ▼
          ┌──────────────────────────────┐   ┌──────────────────────────────┐
          │ Board-Level HPS Interfaces   │   │ Minimal FPGA Support Logic   │
          │                              │   │                              │
          │ - SD/MMC                     │   │ - sysid                      │
          │ - USB / Ethernet / serial    │   │ - 32-bit PIO input/output    │
          │ - I2C / I3C / GPIO           │   │ - USB-C interrupt PIO        │
          │                              │   │ - reset / board glue         │
          └──────────────────────────────┘   └──────────────────────────────┘

What This Project Offers

This project is useful as a base platform because it already provides:

  • A known-good HPS + LPDDR4 hardware starting point
  • HPS peripheral pin muxing for the board-level interfaces needed for software bring-up
  • A lightweight HPS-to-FPGA control path for simple registers and board support functions
  • A minimal fabric footprint that is easy to understand and extend

HPS-Connected Peripheral Interfaces

The base design primarily exposes HPS peripheral pins rather than custom FPGA logic. In the current base configuration this includes:

  • SD/MMC interface signals, along with card-detect and media-select style GPIO support
  • USB1 ULPI signals and USB 3.1 sideband/PHY support signals
  • USB 2.0 ULPI signals (MitySOM Only)
  • EMAC1 Ethernet interface signals (MitySOM-Mini Only)
  • MDIO management signals for Ethernet PHY bring-up (MitySOM-Mini Only)
  • UART1 for serial console / software interaction
  • I2C1 for board-level peripheral access
  • I3C0 for additional peripheral connectivity
  • Miscellaneous GPIO-based board control signals such as reset, presence-detect, and enable lines

FPGA-Side Support Logic

The design still includes a few useful support blocks:

  • Sysid so software can identify the generated hardware build
  • PIO output 32-bit register space on the lightweight HPS-to-FPGA bridge
  • PIO input 32-bit register space on the lightweight HPS-to-FPGA bridge
  • USB-C interrupt PIO so the HPS can observe the external USB-C interrupt line through an IRQ-capable register

These blocks are intended for simple platform control/status functions rather than high-bandwidth data movement.

HPS GP / Board Bring-Up Hooks

The design also leaves a few simple HPS-to-fabric hooks in place that are useful during bring-up:

  • HPS GP output is used to release the fabric from reset
  • HPS GP outputs are used to drive debug LEDs
  • The lightweight HPS-to-FPGA bridge can be used to add more simple board-control features later without restructuring the design

Why Use This Project

The A5E base example is a good starting point when you want:

  • HPS boot and memory bring-up without extra FPGA datapath complexity
  • A software-first platform for Linux, drivers, or board validation
  • A baseline design that can later be extended with FPGA peripherals or custom accelerators

Building the FPGA Design Base Example

Compile the FPGA design

Refer to Building_fpga_2531pro for building the FPGA design. Navigate into the mitysom-a5e[-mini]-ref-base example project before compiling the design.

  • Ensure to flash the resulting a5e.hps.jic onto the hardware
  • Ensure to replace the a5e.core.rbf on the SD card

Go to top
Add picture from clipboard (Maximum size: 1 GB)