OpenCPI Avnet PicoZed 7Z010 Getting Started Guide

This document provides installation information that is specific to the OpenCPI Avnet® PicoZed™ embedded system when it includes the picozed_10_cc OpenCPI HDL (FPGA) platform. This platform consists of the Avnet PicoZed 7Z010 System On Module (SOM) and the Avnet PicoZed FMC (FPGA Mezzanine Card) Carrier Card V2 (PZCC) expansion board on which the 7Z010 is required to be installed.

Use this document when configuring the PicoZed hardware for OpenCPI and when performing the tasks described in the chapter “Enabling OpenCPI Development for Embedded Systems” in the OpenCPI Installation Guide. This document supplies details about enabling OpenCPI development on the PicoZed 7Z010 that can be applied to the procedures described in the referenced OpenCPI Installation Guide chapter. The recommended method is to have the OpenCPI Installation Guide and this document open in separate windows and refer to this document for any platform-specific details while following the OpenCPI setup tasks described in the Installation Guide.

The following documents can also be used as references for the tasks described in this document:

Note that the OpenCPI Glossary is also contained in both the OpenCPI Installation Guide and the OpenCPI User Guide.

This document assumes a basic understanding of the Linux command line (or “shell”) environment.

Document Revision History

Table 5: OpenCPI picozed_10_cc Getting Started Guide: Revision History

OpenCPI Version

Description of Change

Date

v2.1

Initial Release

4/2021

v2.4

Convert to RST, update for release

5/2022

Overview

The Avnet PicoZed 7Z010 is a member of a family of pin-compatible SOMs based on the Xilinx® Zynq®-7000 All Programmable (AP) SoC. See the Avnet PicoZed product brief for information about the PicoZed board family and its variants.

The OpenCPI PicoZed system is designed to support FMC daughtercards. To achieve this support, the OpenCPI PicoZed system requires the 7Z010 SOM to be installed on an Avnet PZCC, which provides an FMC low pin count (LPC) connector slot for connecting FMC daughtercards. The PZCC powers, connects, and operates the PicoZed 7Z010.

OpenCPI has been tested on the PicoZed 7Z010 with the Avnet PicoZed FMC Carrier Card V2. See the PZCC product brief for information about this carrier card. In OpenCPI, the 7Z010 SOM-PZCC configuration is called the picozed_10_cc HDL platform.

Note

PZCC features that are additional to the FMC LPC slot, such as Digilent Pmods™, pushbuttons, and other peripheral interfaces, are not currently supported for use with OpenCPI.

Installation Prerequisites

The following items are required for OpenCPI PicoZed system installation and setup:

  • Avnet PicoZed 7Z010

  • Avnet PZCC

  • 12V @5A power supply for the PZCC

  • micro-USB to USB-A cable

  • micro-USB to female-USB adapter

  • microSD card. Use the microSD card that comes with the product kit or provide a different microSD card. OpenCPI PicoZed setup has been tested using a 16GB microSD card.

These items are typically provided with the PicoZed 7Z010 and/or PZCC product kits.

Note

Ignore any quick start cards or instructions that come with the product kit. This getting started guide and the OpenCPI Installation Guide provide the necessary instructions for setting up the PicooZed system for OpenCPI.

The following items are optional:

  • 1-Gigabit Ethernet cable

  • Analog Devices FMCOMMS2 or FMCOMMS3 daughtercard

Installation Summary

To set up the PicoZed system for OpenCPI development, perform the following steps:

Setting up the PicoZed Hardware

This section describes how to set up the boards in a PicoZed embedded system for OpenCPI. The locations of the target jumpers on the PicoZed 7Z010 SOM and PZCC are highlighted in Figure 15:

Figure 15: PicoZed: Top View with 7Z010 SOM and PZCC Jumpers

Perform the steps described in the following sections before applying power to the boards.

Configuring the PicoZed 7Z010 to Boot from an SD Card

By default, the boot mode switches on the PicoZed 7Z010 are set to boot from the Quad Serial Peripheral Interface (QSPI). Set these switches (JT4, SW1) to HIGH so that the 7Z010 will boot from the SD card, as shown in Figure 16:

Figure 16: PicoZed 7Z010: Top View with SD Card Boot Mode Switch Settings

See the PicoZed 7Z010/7Z020 SOM Hardware User Guide for details on SOM switches, jumpers, and configuration.

Setting up the PZCC

Configure the PZCC jumpers as follows:

  • Leave the FMC GA address select (JP4) at the default setting, where the FMC address is 00 and the jumpers are placed at locations 3-5 and 4-6. See the section “FMC GA [1:0] jumper header” in the Avnet PZCC Hardware User Guide for details.

  • Adjust the VADJ select (JP5) to the desired VADJ level as necessary. By default, JP5 is set to 1.8V but can be set to 2.5V or 3.3V. See Section 3.6, “VADJ selection - JP5” in the Avnet PZCC Hardware User Guide for details.

Figure 17: Avnet PZCC: Top View of FMC GA Address and VADJ Jumpers for the FMC LPC

Installing the SOM on the PZCC

In order for the PicoZed SOM to be powered on, it must be installed on the PZCC via the JX1, JX2, and JX3 SOM interface MicroHeaders. See the PZCC Hardware User Guide for details about these connectors.

Connecting FMC Daughtercards (Optional)

The PZCC has an FMC LPC slot that can be used to connect plug-in modules or daughtercards. OpenCPI currently supports two daughtercards that can be installed on the PZCC:

Figure 18: shows the PZCC with an FMC daughtercard connected.

Figure 18: Avnet PZCC: Connected FMCOMMS3 Daughtercard

Enabling OpenCPI Development for the PicoZed

This section gives information about the PicoZed 7Z010 to use when following the instructions in the chapter “Enabling OpenCPI Development for Embedded Systems” of the OpenCPI Installation Guide.

Note

The instructions in the next sections assume that the basic OpenCPI installation for the development host has already been done. If it hasn’t, follow the instructions in the chapter “Installing OpenCPI on Development Hosts” of the OpenCPI Installation Guide before proceeding to follow the instructions in these sections.

Installation Steps for the PicoZed

This section contains information to be applied to the tasks described in the section “Installation Steps for Platforms” of the OpenCPI Installation Guide.

Supported OpenCPI Platforms and Vendor Tools

Table 6: lists the OpenCPI software (RCC) and hardware (HDL (FPGA) platforms used for the PicoZed and the third-party/vendor tools on which they depend. The OpenCPI HDL platform name for the PicoZed 7Z010 is picozed_10_cc.

Table 6: Supported OpenCPI Platforms for the PicoZed 7Z010 and their Dependencies

OpenCPI

Platform Name

Description

OpenCPI

Project/Repo

Required Third-Party/

Vendor Tools

xilinx19_2_aarch32

Xilinx® Linux

from 2019Q2 (2019.2)

for Zynq®-7000

ocpi.core

built-in

Xilinx Vitis™ SDK 2019.2

Xilinx Binary Zynq Release 2019.2

Xilinx Linux git clone

Xilinx Linux tag: xilinx-v2019.2

picozed_10_cc

Avnet PicoZed

Zynq-7000 FPGA/PL

ocpi.osp.avnet

Xilinx Vivado® WebPACK

Notes about the OpenCPI platforms listed in the table:

  • xilinx19_2_aarch32 is the primary RCC platform for the PicoZed.

  • The xilinx19_2_aarch32 RCC platform is configured for DHCP.

Installing the Vendor Tools for the OpenCPI Platforms

Follow the instructions in the section “Installing Xilinx Tools” in the chapter “Installing Third-party/Vendor Tools” in the OpenCPI Installation Guide to install the Xilinx tools listed as platform dependencies in Table 6:

Note

Perform this step first, before installing/building the OpenCPI platforms for the PicoZed.

Note

The PicoZed system requires the Xilinx Binary Zynq Release 2019.2 (see Supported OpenCPI Platforms for the PicoZed 7Z010 and their Dependencies). As a convenience, the OpenCPI Avnet OSP provides this package for the PicoZed 7Z010 in the location <path-to-avnet-osp>/hdl/platform/picozed_10_cc/2019.2-picozed_10_cc-release.tar.xz. This package can be placed in the /tools/Xilinx/ZynqReleases/2019.2/ (or /opt/Xilinx/ZynqReleases/2019.2/) directory instead of downloading it from the Xilinx website as described in the section “Xilinx Binary Releases for Zynq-7000 and Zynq-Ultrascale Systems” in the OpenCPI Installation Guide.

Installing and Building the OpenCPI Platforms for the PicoZed

After installing the required vendor tools, follow the instructions in the section “Installation Steps for Platforms” in the OpenCPI Installation Guide to install and build the xilinx19_2_aarch32 and picozed_10_cc platforms for the PicoZed system.

Both these platforms must be installed and built with ocpiadmin install platform before proceeding to set up the SD card for the PicoZed. For example:

ocpiadmin install platform xilinx19_2_aarch32

ocpiadmin --package-id=ocpi.osp.avnet install platform picozed_10_cc

Note

Specifying the --package-id option directs the command to download and build the OSP. See the ocpiadmin(1) man page for command usage details.

Note

The xilinx19_2_aarch32 platform is also used by other systems, such as the Avnet (Digilent) ZedBoard (in OpenCPI, the zed and zed_ise HDL platforms). If the xilinx19_2_aarch32 platform has already been installed and built for another supported system, it can apply to the PicoZed and does not need to be installed and built.

Installation Steps for the PicoZed After Its Platforms Have Been Installed

This section contains information to be applied to the tasks described in the section “Installation Steps for Embedded Systems After Their Platforms Have Been Installed” in the OpenCPI Installation Guide.

Connecting the PicoZed to a DHCP-Supported Network (Optional)

OpenCPI allows three modes of operation on embedded systems: server mode, network mode, and standalone mode (see the beginning paragraphs in the section “Installation Steps for Systems after their Platforms are Installed” of the OpenCPI Installation Guide for details).

Using server mode or network mode for OpenCPI on the PicoZed embedded system requires establishing an Ethernet connection from the PZCC to a network that supports DHCP.

There is one Ethernet port located on the PZCC, as shown in Figure 19: Use a 1-Gigabit Ethernet cable to connect this port to the DHCP-supported network.

Figure 19: Avnet PZCC: Ethernet Port

Setting up the SD Card for the PicoZed

Note

The process of creating a bootable SD card for the PicoZed system requires an SD card reader/writer to be connected to the development host. If you have not done so already, follow the instructions in the section “Using SD Card Reader/Writer Devices” of the OpenCPI Installation Guide to set up an SD card reader/writer before proceeding with this section.

The PicoZed boots from an SD card. Enabling OpenCPI on the PicoZed requires creating a bootable SD card that replaces the factory SD card supplied with the PZCC kit.

Follow the instructions in the subsections “Preparing the SD Card Contents”, “Writing the SD Card” and “SD Card OpenCPI Startup Script Setup” in the section “Installation Steps for Systems After Their Platforms are Installed” of the OpenCPI Installation Guide to create a bootable SD card that enables the PicoZed for OpenCPI.

Note

The recommended method described in the OpenCPI Installation Guide applies to the PicoZed: make a raw copy of the factory-provided card to a new card, remove the factory-provided content (files and directories) from the raw copy, and then copy the OpenCPI-provided content to the raw copy. OpenCPI provides all of the necessary files for installation and deployment on the PicoZed.

Should you need to format an SD card for the PicoZed, it should be a single FAT32 partition.

The bootable SD card slot is located on the bottom side of the PZCC below the FMC LPC slot.

Figure 20: Avnet PZCC: MicroSD Card Slot

Once you have finished with this procedure, eject the SD card from the card reader/writer on the development host and insert it into the PZCC SD card slot while the PZCC is powered off.

To eject an SD card, gently push it in and then release it.

Establishing a Serial Console Connection for the PicoZed

Follow the instructions in the section “Establishing a Serial Console Connection” in the OpenCPI Installation Guide to set up a serial console connection between the PicoZed and the development host.

On the PicoZed system, the micro-USB serial port is located on the top side of the PZCC (see Figure 21:) and is labeled UART. Connect the micro-USB to USB-A cable from this port (J1) to the development host.

The PicoZed’s serial USB port operates at 115200 baud.

Figure 21: Avnet PZCC: Connected Serial USB Port

Configuring the Runtime Environment on the PicoZed

Follow the instructions in the section “Configuring the Runtime Environment on the Embedded System” in the OpenCPI Installation Guide to verify the runtime environment on the PicoZed embedded system before running any applications.

To boot the PicoZed:

  • Ensure that:

  • Insert the prepared SD card into the SD card slot on the PZCC, as shown in Figure 20:

  • Start a terminal emulator on the development host (usually with the screen command) at 115200 baud.

  • Apply power to the PZCC.

  • After Linux boots successfully, log in using root for user name and password (note that the password must be supplied twice when using server mode or network mode).

After a successful login, follow the mode-specific instructions in the section to establish the OpenCPI environment. This step applies to network mode and standalone mode only. Server mode does not require the use of a setup script.

Running the Test Application on the PicoZed

The steps to build the platforms performed in Installing and Building the OpenCPI Platforms for the PicoZed result in a single executable FPGA test application named bias that is ready to run. The bias test application is based on the testbias HDL assembly. Both bias and testbias reside in the ocpi.assets built-in project at applications/bias.xml and hdl/assemblies/testbias/ respectively.

Follow the steps in the section “Running the Test Application” in the OpenCPI Installation Guide that corresponds to the configured operation mode (server mode, network mode, or standalone mode) to run this application to verify the installation and any HDL assemblies of the Avnet OSP itself.