Building Projects for OpenCPI Platforms
When run in the top level directory of OpenCPI, the ocpiadmin install platform command will perform the correct build steps for a new platform. It will even download the required OSP if necessary. It will build the built-in projects as well as the OSP for the platform, which is appropriate if you are using this platform but not actually developing the support for it in an OSP; in this case, it is “installing a platform that someone else developed” and thus is more of an installation step than a development task.
Installing an OpenCPI Platform
ocpiadmin install platform
Prepare the OpenCPI installation for using the specified RCC or HDL platform.
Usage:
$ ocpiadmin install platform [OPTIONS] Platform
Arguments:
Platform: [required]
Options:
--install-target / --no-install-target: Whether to also install the platform’s HDL target. [default: install-target]-w, --workers: Whether to build workers for the installation target.-t, --tests: Whether to build unit tests for the installation target.-a, --assemblies: Whether to build assemblies for the installation target.-r, --artifacts-only: Whether to clean intermediate build files.-s, --streamline-build: Whether to skip checkpoints when building assemblies.-o, --optimize: For RCC platforms only. Install platform and workers with optimization enabled.-j, --n-jobs INTEGER: Max number of parallel builds [default: 1]-p, --package-id TEXT: Package ID of platform/target to install.-u, --project-url TEXT: URL to the platform/target’s project.-g, --git-revision TEXT: Git revision to checkout before installation.--report-format [junit]: Format of report(s). [default: junit]--report-path FILE: Path of file to write report(s) to.--builder [make]: Specify the Builder to use to run the asset(s). [default: make]--help: Show this message and exit.
Below is a list of supported development system types, with the corresponding OpenCPI software platform and URLs for related information and download. All supported development platforms are in the ocpi.core project built in to OpenCPI. Other unsupported or not-yet-supported development system types can be in external projects. The default supported development platform is rocky9.
Description |
OpenCPI Software Platform |
Limitations |
Vendor Links |
Rocky 8 Linux on x86-64 bit |
|
||
Rocky 9 Linux on x86-64 bit |
|
||
Ubuntu 20.04 Linux on x86-64 bit |
|
||
Ubuntu 22.04 Linux on x86-64 bit |
|
Below is the list of supported FPGA simulators and the corresponding OpenCPI “hardware” (HDL) platforms. When the associated tools are installed on a development system, the development system then includes these platforms in addition to the software platform. These simulators enable FPGA development without actual FPGA hardware. The default and recommended FPGA simulator is xsim, which is part of the free (WebPACK) version of the Xilinx Vivado tools package.
Description |
OpenCPI Platform |
Vendor Links |
Xilinx Vivado XSIM 2017.1-2024.1 |
|
Vivado® Simulator (XSIM) is part of all Vivado HL Editions, including the free WebPack edition.
|
Siemens/Mentor Modelsim 10.4c-10.6c |
|
Modelsim® is powerful, fast and expensive.
No download link available before purchase.
|
A table of supported embedded systems follows, which includes the platforms each system consists of. Embedded systems generally have a software processor (CPU) using the “primary” OpenCPI software platform, along with other, usually hardware/FPGA, platforms. A physical processor (CPU) or processing device (FPGA) may be supported by a variety of OpenCPI platforms (versions or OSes).
Description |
OSP Repository |
Primary Software Platform(s) |
Other Platforms in the system |
Vendor Links |
Avnet® ZedBoard |
Part of OpenCPI |
|
Using Vivado:
zed |
www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/zedboard/ |
Ettus E310 USRP™ |
|
|
||
Analog Devices™ ADALM-PLUTO |
|
|
||
Analog Devices ADRV9361-Z7035 |
|
|
||
Avnet MicroZed™ |
|
microzed_10_ccmicrozed_20_cc |
||
Avnet PicoZed™ |
|
picozed_10_ccpicozed_15_ccpicozed_20_ccpicozed_30_cc |
www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/picozed/picozed-board-family |
|
Xilinx® Zynq UltraScale+™ ZCU102 |
|
|
||
Xilinx Zynq UltraScale+ ZCU111 |
|
|
www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/zcu111.html |
The following table lists all supported platforms (software and hardware) in the current release. Every system running OpenCPI contains one or more platforms that support different components of an application running on different platforms in the system. Some platforms may be optionally attached/inserted/plugged into a system, such as PCI-Express plug-in cards with FPGA or CPUs on them.
Each entry in the table specifies the platform name, the OpenCPI project that supports it, and any vendor tool installations that the platform requires. The chapter “Installing Third-party/Vendor Tools” in the OpenCPI Installation Guide provides download and installation information for most of these vendor tools.
Table 12: Table of Supported Platforms OpenCPI
Platform Name
Description
OpenCPI
Project/Repo
Dependencies required before
building/installing the platform
Development Host Platforms
rocky8Rocky 8 on x86_64
CPUs
ocpi.corebuilt-in
A Rocky 8 installation
rocky9Rocky 9 on x86_64
CPUs
ocpi.corebuilt-in
A Rocky 9 installation
ubuntu20_04Ubuntu 20.04 on
x86_64 CPUs
ocpi.corebuilt-in
An Ubuntu 20.04 installation
Ubuntu22_04Ubuntu 22.04 on
x86_64 CPUs
ocpi.corebuilt-in
An Ubuntu 22.04 installation
Embedded Software Platforms
xilinx19_2_ aarch32Xilinx Linux from
2019Q2 (2019.2)
For Zynq-7000
ocpi.corebuilt-in
Xilinx Vitis™ SDK 2019.2
Xilinx Binary Zynq
Release 2019.2
Xilinx Linux git clone
Xilinx Linux tag:
xilinx_v2019.2
xilinx19_2_ aarch64Xilinx Linux from
2019Q2 (2019.2)
For Zynq-Ultra
ocpi.corebuilt-in
Xilinx Vitis SDK 2019.2
Xilinx Binary Release 2019.2
Xilinx Linux git clone
Xilinx Linux tag:
xilinx_v2019.2
xilinx24_1_ aarch32Xilinx Linux from
2024Q2 (2024.1)
For Zynq-7000
ocpi.corebuilt-in
Xilinx Vitis SDK 2024.1
Xilinx Binary Release 2024.1
Xilinx Zynq Headers 2024.1
aarch32
xilinx24_1_ aarch64Xilinx Linux from
2024Q2 (2024.1)
For Zynq-Ultra
ocpi.corebuilt-in
Xilinx Vitis SDK 2024.1
Xilinx Binary Release 2024.1
Xilinx Zynq Headers 2024.1
aarch64
adi_plutosdr0 _38Analog Devices
Pluto Linux 0.38
ocpi.osp.plutosdrXilinx Vitis SDK 2024.1
FPGA/HDL Platforms
zedZedBoard Zynq
FPGA w/Vivado
ocpi.platformbuilt-in
Vivado WebPACK
zed_etherZedBoard Zynq
FPGA/PL w/dual 1
GbE
ocpi.platformbuilt-in
Vivado WebPACK
e31xEttus E31x Zynq
FPGA/PL
ocpi.osp.e3xxVivado WebPACK
plutosdrAnalog Devices
ADALM-PLUTO
ocpi.osp.plutosdrVivado WebPACK
zcu104Xilinx Zynq-
UltraScale+ Dev Bd
ocpi.platformbuilt-in
Vivado WebPACK
zcu106Xilinx Zynq-
UltraScale+ Dev Bd
ocpi.platformbuilt-in
Vivado WebPACK
picoevbRHS Research
PicoEVB
ocpi.platformbuilt-in
Vivado WebPACK
adrv9361Analog ADRV9361
Zynq FPGA/PL
ocpi.osp.analogVivado licensed
microzed_10_cc
microzed_20_ccAvnet MicroZed
Zynq FPGA/PL
ocpi.osp.avnetVivado WebPACK
picozed_10_cc
picozed_15_cc
picozed_20_cc
picozed_30_ccAvnet PicoZed Zynq
FPGA/PL
ocpi.osp.avnetVivado WebPACK
zcu102Xilinx Zynq
UltraScale+ MPSoC
ocpi.osp.xilinxVivado licensed
zcu111Xilinx Zynq
UltraScale+ RFSoC
ocpi.osp.xilinxVivado licensed
x310Ettus X310
Xilinx Kintex-7
FPGA w/dual 1/10
GbE
ocpi.osp.ettusVivado licensed
Some of the platforms listed in the table above require system-specific setup procedures to be performed in addition to the general procedures described in the OpenCPI Installation Guide.
The following table lists these systems and provides links to the corresponding setup documents for these systems.
Table 13: Table of Platforms with System-Specific Setup Requirements OpenCPI Platform Name
OpenCPI System-Specific Setup Guide
adrv9361
e31xmicrozed_10_ccmicrozed_20_cc
picoevbpicozed_10_ccpicozed_15_ccpicozed_20_ccpicozed_30_cc
plutosdr
x310
zcu102
zcu111
zed
zed_ether