Name

ocpidev-slot — manage an OpenCPI HDL slot.

Synopsis

ocpidev [<options>] <verb> hdl slot <name>

DESCRIPTION

The hdl slot noun represents an OpenCPI HDL slot, which defines an integral part of an HDL platform that enables an HDL card to be plugged in so that its attached devices are accessible to the platform. An HDL platform has defined slot types; HDL cards that are designed for the same slot type can be plugged in to the defined slots on the platform.

An HDL slot is described by an OpenCPI HDL slot type definition, which is an XML file that defines the signal connections to the pins of the connectors associated with the slot type and provides an (optional) name for the slot type that can be used in HDL Platform Descriptions (OHPDs) and HDL card definitions. OpenCPI provides HDL slot definitions for a number of standard slot types, like the FMC (FPGA Mezzanine Card), which is defined by the by the VITA standards organization as VITA-57.1. Defining a new slot type for use in OpenCPI consists of creating an HDL slot type definition from the information given in the standard document for the slot; writing HDL code to support an HDL slot is not normally necessary. For more information about the XML structure of an HDL slot type definition and how it relates to HDL platforms, devices and cards, see the section "Slots - How Cards Plug into Platforms" in the OpenCPI Platform Development Guide.

An HDL slot is named <name>.xml, where <name> must be a name that can be used in programming languages (uses underscores rather than hyphens) but is otherwise case insensitive. The HDL slot name should normally be the exact name used in the standard document that defines the slot type.

In a project, an HDL slot resides in one of the following locations depending on its intended use:

  • In the subdirectory hdl/cards/specs/ when the HDL slot is platform-independent
  • In the subdirectory hdl/platforms/<platform>/devices/specs/ when the HDL slot is platform-specific

OpenCPI-defined HDL slots are located in the subdirectory hdl/cards/specs/ in the OpenCPI built-in core project.

Verbs that can operate on an HDL slot are:

create
Create the named HDL slot according to the specified options, creating directories and files as required.
delete
Remove all files associated with the named HDL slot.

The create operation creates an initial HDL slot type definition XML file that can be edited as necessary to define the slot type.

OPTIONS

In the descriptions below, a plus sign (+) after the option indicates that it can be specified more than once on the command line.

Options That Apply to All Operations (Verbs) on HDL Slots

-d <directory>
Specify the directory in which the command should be run. Analogous to the -C option in the POSIX make command.
-v, --verbose
Describe what is happening in command execution in more detail.

Options When Creating HDL Slots

-P <hdl-platform>
Specify that the HDL slot being created is a platform-specific HDL slot to be created in the devices/specs/ subdirectory in the specified HDL platform in the project.
-k
Keep files and directories created after an HDL slot creation fails. Normally, all such files and directories are removed on any failure.

Options When Deleting HDL Slots

-f
Force deletion: do not ask for confirmation when deleting a protocol. Normally, you are asked to confirm a deletion.

EXAMPLES

  1. At the top level of the project, create an HDL slot with the name myslot. The HDL slot definition named myslot.xml will be placed in the subdirectory hdl/cards/specs/:

    ocpidev create hdl slot myslot
  2. At the top level of the project, create an HDL slot with the name myslot for the platform myplatform. The HDL slot definition named myslot.xml will be placed in the subdirectory platforms/myplatform/hdl/devices/specs/:

    ocpidev create hdl slot myslot -P myplatform
  3. Inside the project, delete an HDL slot definition named myslot.xml from a project’s hdl/cards/specs/ subdirectory:

    ocpidev delete hdl slot myslot

BUGS

See https://www.opencpi.org/report-defects

RESOURCES

See the main web site: https://www.opencpi.org

SEE ALSO

ocpidev(1) ocpidev-card(1) ocpidev-create(1) ocpidev-delete(1) ocpidev-device(1) ocpidev-platform(1) ocpidev-project(1)

COPYING

Copyright (C) 2020 OpenCPI www.opencpi.org. OpenCPI is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.