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.
Name in projects/ directory |
Project Package-ID |
Contents |
How Used |
|
|
Basic components, primitives, RCC platforms, FPGA simulator platforms. Minimum needed to execute some unit tests. |
User builds but does not modify this project. |
|
|
Platform support
assets (cards,
devices, primitives,
specs), as well as
reference platforms
such as |
Platform developers use these assets to build OSPs (see below). |
|
|
Example applications, components, primitives, some legacy platforms and devices, assemblies. |
User builds, runs, maybe modifies. |
|
|
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.