FPiGA Core: Crimson

Links

System Introduction

Overview

Introducing FPiGA: A Unified FPGA-to-Raspberry Pi Interface Standard

FPiGA was born from the need to establish a consistent, streamlined standard for interfacing FPGAs with Raspberry Pi–class platforms. Until now, no widely adopted methodology has existed, resulting in a fragmented landscape of incompatible and inconsistent implementations.

FPiGA addresses this gap with a “Keep It Simple, Stupid” (KISS) philosophy — aiming to reduce complexity while enhancing reliability. The project focuses on delivering a cohesive ecosystem that includes:
  • * Standardized hardware interfaces
  • * Reusable HDL IP libraries
  • * Unified device drivers
  • * Consistent hardware abstraction libraries
By defining clear and reliable standards, FPiGA simplifies development, encourages interoperability, and accelerates innovation across FPGA and Raspberry Pi integration projects.

Core Concepts Of Compliance

  • 1. Maintain standard hardware interfacing as defined by the FPiGA System
  • 2. Maintain standard kernel/bare metal drivers for interfacing
  • 3. Maintain standard HDL IP Cores across various vendors
  • 4. Maintain standard user space software libraries

Hardware Interfaces

Hardware interfaces can currently be separated into two standardized formats (CPU<->FPGA and FPGA Interfaces).
C2FPGA Interface (CPU to/from FPGA) - These interfaces provide communication and data transfer to/from CPUs and FPGAs.
FPGA Interface - These Interfaces proved communication and data transfer to/from FPGAs and other hardware devices.

FPiGA Core Lib

Software And Drivers

FPGA HDL

I2CHDR Standard
Hardware
Kernel Driver
Userspace Library
FPGA HDL Lib
I2SAudio
Hardware
Kernel Driver
Userspace Library
FPGA HDL Lib
DSP
Audio DSP
Debug Core
Overview
Kernel Driver
Userspace Application
Supported Devices/Interfaces

Supported CFPGA Interfaces

Supported FPGA Interfaces

  • I2C
  • I2S
  • FPGA 8 Pin
  • I2S

Planned CFPGA Interfaces

Planned FPGA Interfaces

  • SPI
  • SMI
  • PCIe
  • MIPI
  • USB
  • PMOD
  • SYGYZY
  • FMC

Supported ARM OS

Supported Bare Metal

Supported Driver Interfaces 

  • Raspberry Pi OS ARM32 & ARM64
  • Raspberry Pi Circle
  • I2C
  • I2S

Supported SoC Devices

Planned OS/Bare Support

Planned SoC Device Support

  • Raspberry Pi
    (2,3,4,5,CM4,CM5,Zero,Zero2W)

  • Debian ARM32 & ARM64
  • Ubuntu ARM32 & ARM64
  • Yocto ARM32 & ARM64
  • FreeRTOS
  • Zephyr
  • Raspberry Pi Pico C/C++
  • Raspberry Pi Pico Micropython
  • Debian x86
  • Ubuntu x86
  • Windows ARM32 & ARM64
  • Windows x86
  • Radxa Rock3, Rock5, RockCM3, RockCM5, Rock Zero3W, X2L, X4
  • Orange Pi

Supported FPGAVendors

  • Gowin