Using OpenCPI’s Built-in Projects

OpenCPI comes with a set of built-in projects that contain the assets and artifacts provided by the OpenCPI framework for asset development, as shown in the following table.

Table 6: OpenCPI Built-in Projects

Name

in projects/ directory

Project Package-ID

Contents

How Used

core

ocpi.core

Basic components, primitives, RCC platforms, FPGA simulator platforms. Minimum needed to execute some unit tests.

User builds but does not modify this project.

platform

ocpi.platform

Platform support assets (cards, devices, primitives, specs), as well as reference platforms such as zed and zcu104.

Platform developers use these assets to build OSPs (see below).

assets

ocpi.assets

Example applications, components, primitives, some legacy platforms and devices, assemblies.

User builds, runs, maybe modifies.

tutorial

ocpi.tutorial

Example applications, components, worker source code, and test files

Used in OpenCPI tutorials.

The project package-ID shown in the table is a globally unique identifier for the project asset. (All OpenCPI assets have package-IDs, but not all assets are currently used explicitly.) The ocpi prefix in the package-ID indicates that the package is managed by the OpenCPI maintainers and exists in the OpenCPI Gitlab repository. The project package-ID is used when the project is depended on by other projects. All projects depend on the core built-in project. Its package-ID is ocpi.core. You can find out more about package-IDs in the OpenCPI Component Development Guide.

When users create projects, they can be in any directory, but generally use the default registry provided by OpenCPI and are easily able to depend on the built-in projects.

When a project contains code to enable a particular platform to be used by OpenCPI, it is called an OSP (OpenCPI System support Project). Some platforms are directly supported by the built-in projects. OpenCPI also provides other OSPs that are available from the OpenCPI gitlab.com site at https://gitlab.com/opencpi/osp. To install a platform based on one of these OSPs (or any other), use the procedure described in the OpenCPI Installation Guide.