OpenCPI is an open-source software framework and methodology for developing and executing component-based applications on heterogeneous embedded systems that target multiple processor types such as FPGA, GPU, DSP and general-purpose processor (GPP), connected by several interconnect technology types such as PCIe, AXI, Avalon, Ethernet, and Aurora.
The components are implemented and written in the language commonly used for the target hardware to achieve high levels of performance. As a consequence, components targeting GPPs are implemented and written in C/C++, FPGAs in VHDL/Verilog, and GPUs in OpenCL, unlike competing frameworks that use compilers that are not optimised for the targeted technology.
OpenCPI is beneficial to mission-critical applications that have strict size, weight and power (SWaP) constraints which often require technology agility and diversity over time. OpenCPI also helps with code portability and reusability by providing the APIs, software modules and IP cores that abstract the complexities of the underlying hardware platform away from the application developer.
OpenCPI has evolved through a succession of several Independent Research and Development (IR&D) and Department of Defense (DoD) funded projects that started in early 2000, where the core motivation was to apply component-based development (CBD) to real embedded applications.
Riviera-PRO, as an HDL platform within OpenCPI, has been rigorously tested through its continuous integration (CI) pipelines and has been merged into the main development branch. It supports full compilation, simulation and advanced debugging of HDL primitives, libraries and cores within the OpenCPI environment. Multiple instances of Riviera-PRO can run in parallel to simulate various components of a distributed embedded system.
“Our customers requested support for OpenCPI, and we stepped up to the challenge,” said Louie De Luna, Director of Marketing at Aldec. “We look forward to working with the OpenCPI community as they adopt new-generation FPGAs and interconnects, and scale to multi-core SoC processing. As the leading EDA tool provider for VHDL simulation, we’re also excited to learn new use cases from the OpenCPI community as they adopt the newly added VHDL constructs available in VHDL-2019 LRM.”