Table of Contents



Revision History

This wiki page complements the 2019.2 version of the Base TRD. For other versions, refer to the Zynq UltraScale+ MPSoC Base TRD overview page.

Change Log:


Overview


The Zynq UltraScale+ MPSoC Base Targeted Reference Design (TRD) is an embedded video processing application running on a combination of APU (SMP Linux), RPU (bare-metal) and PL. A high-level block diagram is shown below.

The design supports the following video interfaces:

The following processing accelerators are implemented as memory-to-memory pipelines in the PL (red):

The TRD demonstrates the value of offloading computation intensive tasks from the PS onto PL, thereby freeing APU resources. The APU load is plotted on the GUI to compare a pure software vs hardware accelerated implementation.
The RPU is used to monitor the live memory throughput of the design by reading the built-in AXI performance monitors (APM) inside the PS. The data is sent to the APU via the OpenAMP communication framework and plotted on the GUI.

This wiki contains information about:

Additional material that is not hosted on the wiki:


Software Tools and System Requirements

Hardware


Required:

Optional:

Compatibility


The reference design has been tested successfully with the following user-supplied components.

Monitors:
Make/ModelNative Resolution
Viewsonic VP2780-4K3840x2160 (60/30Hz)
Acer S277HK3840x2160 (60/30Hz)
LG 27UD583840x2160 (60/30Hz)
Dell U2718Q3840x2160 (60/30Hz)
Dell P2415Q3840x2160 (30Hz)
Dell U2414H1920x1080 (60Hz)
GeChic On-Lap1303H1920x1080 (60Hz)

HDMI Sources:
Make/ModelResolutions
Nvidia Shield TV3840x2160, 1920x1080
OTT TV BOX M8N3840x2160, 1920x1080, 1280x720
Roku 2 XS1920x1080, 1280x720
TVix Slim S1 Multimedia Player1920x1080, 1280x720

USB Webcams:
Make/ModelSupported ResolutionsSupported Formats
Logitech BRIO1920x1080 (30fps)YUYV
Logitech HD Pro Webcam C9201920x1080 (5fps), 1280x720 (10fps)YUYV
Logitech HD Webcam C5251920x1080 (5fps), 1280x720 (10fps)YUYV
Note: The Logitech C525 webcam takes about 12 seconds to start after selection from the GUI. It will start streaming once the LED is lit.

DisplayPort Cables:

Storage Devices:

Software


Required:

Licensing


Steps to generate the license:
  1. Log in here with your work E-mail address (If you do not yet have an account, follow the steps under Create Account)
  2. Generate a license from “Create New Licenses” by checking "Vitis Environment, 60 Day Evaluation License"
  3. Under system information, give the host details.
  4. Proceed until you get the license agreement and accept it.
  5. The License (.lic file) will be sent to the email-id mentioned in the login details.
  6. Copy the license file locally and give the same path in the Vitis license manager.


Design Files

Design Modules


The reference design is split into 10 design modules DM1 to DM10:

Each module is described in more detail on the respective tutorial page (see below).

The following table shows the dependency matrix between different modules. For example: DM6 (row) depends on or builds on top of modules DM1 and DM5 (columns).


DM1DM2DM3DM4DM5DM6DM7DM8DM9
DM1








DM2








DM3








DM4+
+





DM5+







DM6+


+



DM7+


++


DM8+


+++

DM9+


++++
DM10+++++++++

Design Components


The top-level directory structure shows major design components. A pre-built SD card image is provide for DM10 along with a basic README and legal notice file.
rdf0421-zcu102-base-trd-2019-2
├── IMPORTANT_NOTICE_CONCERNING_THIRD_PARTY_CONTENT.txt
├── petalinux
│   ├── sdk.sh
│   └── zcu102-prod-base-dm10.bsp
├── README.txt
├── sd_card
│   └── dm10
│   ├── binary_container_1.xclbin
│   ├── BOOT.BIN
│   ├── image.ub
│   └── perfapm-server.elf
├── workspaces
│   ├── ws_heartbeat
│   │   ├── heartbeat
│   │   ├── heartbeat_system
│   │   └── hwfile
│   ├── ws_perfapm-ctl
│   │   ├── hwfile
│   │   ├── perfapm
│   │   ├── perfapm-ctl
│   │   └── perfapm-ctl_system
│   └── ws_perfapm-server
│   ├── hwfile
│   ├── perfapm
│   ├── perfapm-server
│   └── perfapm-server_system
└── zcu102_base_trd
├── hw
│   └── zcu102_base_trd.xsa
├── samples
│   ├── filter2d
│   ├── filter2d_optflow
│   └── opticalflow
├── sw
│   ├── prebuilt
│   ├── zcu102_base_trd
│   └── zcu102_base_trd.spfm
└── zcu102_base_trd.xpfm
The below table shows which design components are used in which design modules. A graphical view for each design module is provided on the respective design module tutorial page.

Design ComponentDesign Module
DM1DM2DM3DM4DM5DM6DM7DM8DM9DM10
heartbeat
Y






Y
perfapm-ctl

Y






perfapm-server


Y




Y
perfapm-client


Y





video-qt2



YYYYYY
gstsdxfilter2d





YYYY
gstsdxopticalflow







YY


Tutorials

Board Setup


Required:

Optional:

Jumpers & Switches:

Build and Run Flow

To run the pre-built SD card image for design module 10, follow the instructions here.


The following tutorials assume that the $TRD_HOME environment variable has been set as below.
% export TRD_HOME=</path/to/downloaded/zip-file>/rdf0421-zcu102-base-trd-2019-2

For the individual tutorials, follow the links below: 


Other Information

Known Issues

Limitations



Support


To obtain technical support for this reference design, go to the: