ocpidev-project — manage an OpenCPI project.
The project noun represents an OpenCPI project that holds and
organizes OpenCPI assets. A project is a workspace in a directory
where assets are developed. A project can contain:
A project has:
Project.xml)
that defines attributes for the project and some others to be applied to all
assets in the project
Project.exports)
that specifies the assets and files that are to be visible
to other projects that use this project’s assets
The ocpidev create operation produces a skeleton directory
structure and initial versions of the files
that can then be edited as necessary during project
and asset development.
For details on project directory structure and how it is populated and built, see the chapter "Developing OpenCPI Assets in Projects" in the OpenCPI Component Development Guide.
Verbs that can operate on a project are:
build
clean
create
ocpidev is executed. The general-purpose
option -d <directory> can be used to create the
project’s directory under a different directory.
delete
refresh
run
show
[un]register
utilization
Note that an asset’s name is implied by the directory you’re in when
you issue the ocpidev command. For projects, this means that you can
perform operations (verbs) on the project without having to specify its
name when you issue the ocpidev command from inside the project directory.
The ocpidev tool can also operate on a plural projects noun.
The syntax is:
ocpidev [<options>] show projects
where show is the only valid verb, the default global
scope is the only valid scope, and the valid options
are -d <directory> and the show verb formatting
options (--json, --simple, --table).
The ocpidev show projects command displays
information about all registered OpenCPI projects.
In the descriptions below, a plus sign (+) after the option indicates that it can be specified more than once on the command line.
-d <directory>+
-v, --verbose+
--exclude-platform=<platform>, -Q <platform>+
--only-platform=<platform>, -G <platform>+
--register
-A <directory>+
-D <package-ID>+
-F <package-prefix>
-I <directory>+
-K <package-ID>
create verb.
-T <target>+
-Y <primitive-library>+
-Z <target>+
-k
-y <component-library>+
-f
--hdl-assembly=<hdl-assembly>+
--hdl
--hdl-platform=<hdl-platform>+
--hdl-rcc-platform=<platform>+
--rcc-platform
<platform> is also not used), the current development software
platform is used as the single RCC platform used for building.
--hdl-target=<target>+
--no-assemblies
--rcc
--rcc-platform=<platform>+
--hdl-rcc-platform <platform>
is also not used), the current development software platform
is used as the single RCC platform used for building.
--optimimize
--worker=<worker>+
The options described here, when used in an "ocpidev run project" command, are applied as appropriate to all of the runnable assets (applications and unit test suites) that reside in the project. Note that any application-specific options supplied on the command line are only applied to XML applications and not to ACI applications.
--rcc-platform=<platform>+
--after=<args>+
--before=<args>+
ocpirun command; for example, environment settings
or prefix commands.
--run-arg=<args>+
ocpirun command.
For details on how to use these options, see the section "Applications in Projects" in the OpenCPI Application Development Guide.
--accumulate-errors
--exclude-platform=<platform>, -Q <platform>+
--hdl-platform=<platform>+
--keep-simulations
--mode=<mode>[,<mode>[,<mode>…]]
Specify which phase(s) of the unit test to execute. Valid modes are:
all: execute all five phases (the default if --mode is not used)
gen: execute generate phase
gen_build: execute generate and build phases
prep_run_verify: execute prepare, run, and verify phases
prep: execute prepare phase
run: execute run phase
prep_run: execute prepare and run phases
verify: execute verify phase
view: execute the view script (view.sh) on an already executed run
clean_all: clean all generated files
clean_run: clean all files generated during the run phase
--only-platform=<platform>, -G <platform>+
--remotes=<system>
OCPI_REMOTE_TEST_SYS variable. See the section
"Defining Remote Systems for Executing Tests"
in the OpenCPI Component Development Guide for more information.
--view
view.sh) for the test at the conclusion of the
test’s execution.
-l <library>
--global-scope
-local-scope is not used.
--json
--local-scope
--simple
--table
--simple or --json are not used.
--format{=table|latex}
table sends the information to stdout in tabular format.
Specifying latex bypasses stdout and writes all output to
utilization.inc files in the directories for the assets on
which it operates.
--hdl-platform=<platform>+
Create a project with the name my-project. This project’s
package-ID will be local.my-project:
ocpidev create project my-project
Create a project with the package-prefix org.my-organization and
the name my-project. This project’s package-ID will be
org.my-organization.my-project:
ocpidev create project my-project -F org.my-organization
Build the assets project for the zed HDL platform and
xilinx13_3 RCC platform. Omit the name assets if
inside the assets project.
ocpidev build project assets --hdl-platform zed
--rcc-platform xilinx13_3
Clean the assets project:
ocpidev clean project assets
Register the current project to its registry (or the default if it doesn’t have one yet):
ocpidev register project
Unregister the current project:
ocpidev unregister project
Run all the applications and unit tests in the project named MyProject:
ocpidev run project MyProject
Display information about the current project:
ocpidev show project
Show usage information for all supported assets in a project:
ocpidev utilization project
Record usage information in LaTeX format for all supported assets in a project:
ocpidev utilization project --format=latex