Design heterogeneous SoCs, end to end
ESP is an open-source research platform for heterogeneous system-on-chip design. It combines a scalable tile-based architecture, a packet-switched network on chip, accelerator integration flows, automated hardware and software generation, full-system simulation, and FPGA prototyping.

ESP’s accelerator flows support hand-written RTL, high-level synthesis and third-party IP. They converge on the same SoC integration flow, which generates the hardware sockets, device-tree entries, software interfaces and build inputs needed for a complete prototype.
Platform overview
Architecture and software
- Tile-based processor, accelerator, memory, scratchpad and I/O architecture
- Configurable network-on-chip topology and memory hierarchy
- 64-bit Ariane, 32-bit Ibex and 32-bit LEON3 processor tiles; the upstream 64-bit OpenHW CVA6 core is Coming soon
- Bare-metal applications and Linux SMP
- Automated device trees, drivers and application skeletons
Accelerator flows
- RTL accelerators in Verilog, SystemVerilog or VHDL
- SystemC and C/C++ accelerators with Cadence Stratus HLS, Siemens Catapult HLS or AMD/Xilinx Vivado HLS
- C/C++ accelerators with the open-source PandA Bambu HLS tool Coming soon
- Neural-network accelerators through hls4ml
- Third-party AXI accelerators, including NVDLA; Vortex RISC-V GPGPU support is Coming soon
FPGA targets
- AMD/Xilinx VC707, VCU118 and VCU128
- proFPGA Virtex-7 XC7V2000T, Virtex UltraScale XCVU440 and Virtex UltraScale+ XCVU19P
- Terasic DE10-Pro SX with Intel Stratix 10 SX 280 Coming soon
- AMD/Xilinx ZCU102 and ZCU106 (experimental board ports)
The single-core guide presents the released AMD/Xilinx flow alongside a preview of the upcoming Intel/Altera build, programming and payload-loading flow.
Publications
The overview paper is Agile SoC Development with Open ESP, presented at ICCAD 2020. The publications page collects the broader body of ESP research.
Releases and development status
ESP release 2026.1.0 expanded AXI memory access across supported FPGA boards, improved AXI-to-NoC burst transfers, made FPGA memory-link width configurable, and enabled dual memory tiles on VCU118.
The dev branch, staged for the next release, adds:
- The OpenHW CVA6 64-bit RISC-V core, selectable alongside Ariane, with OpenSBI and Linux support Coming soon
- A PandA Bambu HLS accelerator flow, with skeleton generation in the accelerator generator and a dataflow example accelerator Coming soon
- UltraScale+ URAM mapping options for Catapult HLS accelerator memories and for the last-level cache line memory Coming soon
- RISC-V and LEON3 toolchain builds on hosts with newer glibc and GCC releases
- An RTL vector-addition example accelerator and an interrupt-driven multi-accelerator bare-metal application
- Coherence, DMA and memory-interface fixes in the accelerator sockets and caches
Further development previews, not yet on the dev
branch:
- Terasic DE10-Pro SX support through Quartus Prime Pro and the board’s HPS Coming soon
- Vortex v2.2 integration with an ESP runtime backend and configurable cores, warps, threads, L2 and L3 Coming soon
- Improved partial-write handling and AXI channel decoupling in the third-party accelerator socket
See the news archive and ESP releases on GitHub for release history.