A high-performance, FPGA-based accelerator core developed by the Zant Foundation, with future ASIC tape-out in mind.
- Introduction
- Key Features
- Architecture Overview
- Supported Platforms
- Current Status
- Getting Started
- Building & Testing
- Roadmap & Next Steps
- Contributing
- License
- Contact
The Zant Accelerator is a modular, reconfigurable compute engine designed to offload and accelerate compute-intensive kernels on FPGA, with a future ASIC tape-out planned. It provides:
- A lightweight 16-bit floating-point unit (FPU)
- A scalable systolic array for matrix and tensor operations
- Low-latency QSPI/SPI host interface
- High-throughput DRAM interface with alignment buffers
This project lives in the Zant Foundation GitHub organization as part of our open-source hardware initiative.
-
16-bit FPU
- Custom floating-point unit optimized for energy efficiency and throughput
- Already implemented and under functional test
-
Systolic Array
- Parameterizable 2D array of processing elements (PEs)
- Supports matrix-vector and matrix-matrix multiply accumulation
-
Memory & I/O
- Alignment Buffers: Prevent misalignment and ensure back-to-back burst support
- Ring Buffer: Low-latency staging between FPU/systolic array and DRAM
- Quad-SPI Slave Interface: Host access for configuration, micro-code upload, and debug
- Serializer/Deserializer: 32-bit wide interface to external DRAM
-
Scalable & Portable
- Modular RTL in Verilog/SystemVerilog
- Ready for synthesis on Intel/Altera and Microsemi FPGAs, with future ASIC
- Clean separation of control, datapath, and interface layers
+-------------+ +----------------------+ +----------------+
| QuadSPI |<----->| QuadSPI Slave IFace |<--->| On-Chip BRAM |
| Host | +----------------------+ +----------------+
+-------------+ |
64-bit |
v
+----------------+
| 16-bit FPU |
+----------------+
|
64-bit |
v
+----------------+
| Ring Buffer |
+----------------+
|
64-bit |
v
+------------------------+
| Controller & Aligners |
+------------------------+
|
+------------------------+
| Systolic PE Array |
+------------------------+
|
32-bit |
v
+----------------+
| Serializer / |
| DRAM Interface |
+----------------+
- Control & Matrix Aligner orchestrates data flow between buffers, FPU, and PE array.
- Alignment Buffers line-up incoming/outgoing bursts to/from DRAM for maximum throughput.
- Intel/Altera MAX 10 — in active test
- Microsemi PolarFire — in active test
- Intel Agilex — under evaluation for next-gen prototypes
- (Future) ASIC tape-out through IHP (July production target)
- 🔄 16-bit FPU completed — functional verification in progress
- 🚧 Quad-SPI slave interface prototyped
- 🚧 Ring buffer & alignment buffer RTL in place
- 🔄 Testing on MAX10 & PolarFire boards
- 🚧 Systolic array PE design started
- 🚧 QSPI/SPI command parser & control FSM in development
-
Clone the repo
git clone https://github.com/ZantFoundation/zant-accelerator.git cd zant-accelerator
-
Install dependencies
- Quartus Prime Lite (for MAX10/Agilex)
- Libero SoC (for PolarFire)
-
Open the Top-Level Project
- MAX10:
quartus/zant_max10.qpf
- PolarFire:
libero/zant_polarfire.gsdproj
- MAX10:
-
Synthesis & Implementation
# Quartus example cd quartus quartus_sh --flow compile zant_max10
-
Simulation
make sim
-
Hardware Validation
- Load the
.sof
(MAX10) or.bit
(PolarFire) onto your dev board - Use the Python testbench in
sw/tests/
to drive QSPI commands and verify outputs - Monitor throughput and latency via UART/logs
- Load the
- Finalize 16-bit FPU tests, integrate power/area optimizations
- Complete PE design for the full systolic array (configurable dimensions)
- Implement QSPI/SPI command parser with register map
- Enhance alignment buffers to support multi-burst DRAM patterns
- Evaluate Agilex port for higher clock rates
- ASIC tape-out: finalize RTL, constraints and hand-off to IHP (target: July)
- Software stack: driver, runtime API, and high-level libraries
We welcome contributions from the community!
- Fork this repository
- Create a feature branch (
git checkout -b feature/your-feature
) - Commit your changes (
git commit -m 'Add awesome feature'
) - Submit a pull request
Please follow our Contributing Guidelines and the Zant Foundation’s Code of Conduct.
This project is released under the MIT License. See LICENSE for details.
-
Zant Foundation
- Website: https://zantfoundation.github.io
- GitHub: https://github.com/ZantFoundation