X310 Front-panel GPIO (x310_gpio)

Implements interaction with the 12 front-panel GPIOs.

Design

Provides read and write access and direction setting control to each of the X310 front-panel GPIOs via both port and properties.

Interface

<!-- This file is protected by Copyright. Please refer to the COPYRIGHT file
     distributed with this source distribution.

     This file is part of OpenCPI <http://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.

     OpenCPI is distributed in the hope that it will be useful, but WITHOUT ANY
     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
     FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
     more details.

     You should have received a copy of the GNU Lesser General Public License
     along with this program. If not, see <http://www.gnu.org/licenses/>. -->
<ComponentSpec>
  <!-- Port -->
  <port name="dir" protocol="gpio_protocol" optional="true"/>
  <port name="in"  protocol="gpio_protocol" optional="true"/>
  <port name="out" protocol="gpio_protocol" optional="true" producer="true"/>
</ComponentSpec>

Opcode handling

All three ports (dir, in, out) use protocol gpio_protocol.xml which has a single opcode.

Properties

Properties can be used to interact with the GPIO pins. See x310_gpio.xml for descriptions of each property.

Ports

Ports can be used to interact with the GPIO pins. See x310_gpio.xml for descriptions of each port.

Implementations

  • x310_gpio (HDL)

    x310_gpio implements interaction with the 12 front-panel GPIOs. It was adapted from the OpenCPI GPI and GPO workers.

Example Application

Dependencies

The dependencies to other elements in OpenCPI are:

  • None

There is also a dependency on:

  • ieee.std_logic_1164

  • ieee.numeric_std

Limitations

Testing

Tested platforms: None

Component testing not completed.