FOSDEM 2020 will take place next week, and there will be several interesting talks about open-source hardware and software development. One of those is entitled “Open ESP – The Heterogeneous Open-Source Platform for Developing RISC-V Systems” with an excerpt of the abstract reading:

ESP is an open-source research platform for RISC-V systems-on-chip that integrates many hardware accelerators. ESP provides a vertically integrated design flow from software development and hardware integration to full-system prototyping on FPGA. For application developers, it offers domain-specific automated solutions to synthesize new accelerators for their software and map it onto the heterogeneous SoC architecture. For hardware engineers, it offers automated solutions to integrate their accelerator designs into the complete SoC.

If we go to the official website, we can see ESP (Embedded Scalable Platform) actually supports both 32-bit Leon3 (Sparc) and 64-bit Ariane (RISC-V) cores, and various hardware accelerators from the platform or third parties.

Highlights:

Architecture Tile-based architecture: processor, memory and accelerator tiles NoC (Network-on-Chip) based Supports 32-bit Leon3 (Sparc) or 64-bit Ariane (RISC-V) cores

Accelerators ESP accelerators Cadence Stratus HLS flow Xilinx Vivado HLS flow Chisel flow Third-Party Accelerators – NVIDIA Deep Learning Accelerator (NVDLA)

Design Flows Seamless accelerator design flows: RTL and Chisel HLS from C and SystemC Machine learning frameworks such as Keras/TensorFlow or PyTorch with hls4ml Mix & match floorplanning GUI Rapid FPGA prototyping



ESP is compatible with FPGA development boards such as Xilinx Virtex UltraScale+ FPGA VCU118, Xilinx Virtex-7 FPGA VC707, or proFPGA quad Virtex7 prototyping system, which in turn can run Linux SMP on the RISC-V or Sparc cores.

ESP was initially designed to run on CentOS 7 and is still the recommended OS, but Ubuntu 18.04 support has recently been added. Required components include various packages from the OS (Python, Perl, Qt, etc..), commercial tools from Cadence, Xilinx, and/or Mentors Graphics, as well as RISC-V and/or Sparc toolchains.

You can follow the tutorials for installing ESP on Centos or Ubuntu, and create your first single-core or multi-core SoC with ESP SoC Generator user interface as explained in the documentation.

More tutorials are planned especially focused on the design of accelerators. If you’d like a more in-depth overview of the Embedded Scalable Platform, you may want to watch that 16-minute video published a few weeks ago.