/
ZYNQ_PCIe_TRD_2015.4
ZYNQ_PCIe_TRD_2015.4
ZYNQ_PCIe_TRD_2015.4
HistoryVIVADO DS 2014.4 Zynq PCIe Targeted Reference Design
VIVADO DS 2014.3 Zynq PCIe Targeted Reference Design
ISE DS 14.7 Zynq PCIe Targeted Reference Design
ISE DS 14.6 Zynq PCIe Targeted Reference Design
ISE DS 14.5 Zynq PCIe Targeted Reference Design
ISE DS 14.4 Zynq PCIe Targeted Reference Design
ISE DS 14.3 Zynq PCIe Targeted Reference Design
1 Introduction
This page provides instructions on how to build various components of the Zynq PCIe Targeted Reference Design (TRD) and how to setup the hardware platform and run the design on the ZC706 Evaluation Kit. The ZC706 Evaluation kit is based on a XC7Z045 FFG900-2 Zynq-7000 SoC device. For additional information, refer to UG961.1.1 About the Zynq PCIe TRD
The Zynq PCIe Targeted reference design expands the Base Targeted Reference Design (UG925) by adding PCI Express communication with a host system at PCIe x4 GEN2 speed. In the Base Targeted Reference design, the input of the video processing pipeline is generated by a test pattern generator in the FPGA fabric. In this design, the input of the video processing pipeline is generated by an application on the host computer at 1080p60 resolution and transmitted to the ZC706 board via PCIe. The data is processed by video pipeline and passed back to the host system via PCIe. As full 1080p60 video stream only take up around 4Gbps, an additional data generator and a checker are implemented and connected to channel 1 of PCIe DMA showcasing the maximum PCIe x4 GEN2 bandwidth achieved by the hardware. For additional information, please refer to UG9631.2 Zynq PCIe TRD Package Contents
The Zynq PCIe TRD package is released with the source code, Xilinx PlanAhead and SDK projects, and an SD card image that enables the user to run the video demonstration and softwareapplication. It also includes the binaries necessary to configure and boot the Zynq-7000 SoC board. The package also contains the software driver source files required to run application
software in the PCIe host machine. This wiki page assumes the user has already downloaded the PCIe TRD package and extracted its contents to the PCIe TRD home directory referred to as
ZYNQ_TRD_HOME in this wiki and to the PCIe host machine in a folder of choice.
2 Prerequisites
- The ZC706 Evaluation Kit ships with the version 14.x Device-locked to the Zynq-7000 XC7Z045 FFG900-2 device and all required licenses to build the TRD. For additional information, refer to UG973 Vivado Design Suite User Guide: Release Notes, Installation, and Licensing .
- PC with PCIe v2.0 slot. Recommended PCI Express Gen2 PC system motherboards are ASUS P5E (Intel X38), ASUS Rampage II Gene (Intel X58) and Intel DX58SO (Intel X58).
- Fedora 16 LiveCD for booting Linux on PCIe host machine.
- A Linux development PC with the ARM GNU tools installed. The ARM GNU tools are included with the Xilinx ISE Design Suite Embedded Edition or can be downloaded separately.
- A Linux development PC with the distributed version control system Git installed. For more information, refer to Using Git and to UG821: Xilinx Zynq-7000 EPP Software Developers Guide.
- Petalinux 2015.4 SDK
- Open JDK
- Other system utilities like make (3.82 or higher) and corkscrew if accessing git behind a firewall.
- A Linux development PC with QT and QWT libraries cross-compiled for Zynq platform. Set ZYNQ_QT_INSTALL environment variable by referring to Xilinx Zynq Qt/Qwt Libraries - Build Instructions
3 Building the FPGA Hardware Bitstream
This section explains how to generate the FPGA hardware bitsream using the Xilinx PlanAhead tool and how to export the hardware platform to Xilinx Software Development Kit (SDK) for software application development. Inside the PlanAhead project, a Xilinx Platform Studio (XPS) project is referenced that contains the embedded hardware design. The design top level file instantiates the embedded top level file along with the system with PCIe IP wrapper, PCIe DMA, PCIe performance monitor and hardware generator and checker blocks.3.1 Building the Bitstream
**Note 1:** The TRD uses Tandem PROM flow to generate the bitstream. Tandem PROM flow generates a two staged bitstream. The first stage bitstream is smaller sized bitstream and is used to meet 100 ms boot up time requirement in PCIe based End Points. For more information, please refer to PG054, 7 Series FPGAs Integrated Block for PCI Express Product Guide
**Note 2:** Please apply vivado patch from the answer record [http://www.xilinx.com/support/answers/66007.html] before generating the bit file.
Steps for building the FPGA hardware bitstream
Browse to $ZYNQ_TRD_HOME/hardware/vivado/scripts directory:
- On Windows ,Open Vivado 2015.4 Tcl Shell by clicking Start > All Programs > Xilinx Design Tools > Vivado 2015.4 > Vivado 2015.4 Tcl Shell
- In the command prompt navigate to $ZYNQ_TRD_HOME/hardware/vivado/scripts and enter " vivado -source z7_pcie_trd_project.tcl " command
- On Linux, enter " vivado -source z7_pcie_trd_project.tcl " at the command prompt.
In the Flow Navigator pane on the left-hand side under Program and Debug, click Generate Bitstream.
- Note: Click on Yes if a window appears as No Implementation Results are available.
The bit stream will be generated at $ZYNQ_TRD_HOME/hardware/vivado/runs/z7_pcie_trd_2015.4.runs/impl_1/z7_pcie_trd_top.bit
3.2 Exporting the Hardware Platform to SDK
Steps for exporting the hardware platform to SDK
From the VIVADO project flow navigator click on Open Implemented Design.
From the VIVADO menu bar, select File > Export > Export Hardware.
In the Export Hardware window select Include bitstream option and press OK. The hardware platform will be exported to $ZYNQ_TRD_HOME/hardware/vivado/runs/z7_pcie_trd_2015.4.sdk
4 Installation of Petalinux SDK
4.1 Prerequisites
- 2GB RAM (recommended minimum for Xilinx tools)
- Pentium 4 2GHz CPU clock or equivalent.
- 5 GB free HDD space.
- Supported OS:
- RHEL 5 (32-bit or 64-bit)
- RHEL 6 (32-bit or 64-bit)
- SUSE Enterprise 11 (32-bit or 64-bit)
- Petalinux release package downloaded.
- Valid Petalinux license.
- Common system packages and libraries are installed on your workstation. The installation process will check for these. See the section Required Tools and Libraries for more details. For detailed information refer petalinux installation guide UG1144 .
- Download Petalinux 2015.4 SDKsoftware from Xilinx website download section
4.2 Extract the Petalinux Package
Assuming all the prerequisites described in the last sub-section are satisfied, Petalinux installation is very straight forward. Without any options, the installer will install as a sub-directory of the current directory. Alternatively, an installation path may be specific. Run the downloaded petalinux installer.bash> ./petalinux-v2015.4-final-installer.run
So, if you install the installer into your home directory /home/user, Petalinux will be installed in /home/user/petalinux-v2015.4-final.
You may move the resulting petalinux-v2015.4-final directory to a preferred location before continuing.
4.3 Install License
PetaLinux licenses are managed using the same system as all other Xilinx Design Tools. For more details on licensing and setup of license please refer to the Vivado Design Suite User Guide (UG973)" section "Obtaining and Managing a License".4.4 Setup Petalinux Working Environment
After extracting the package, the remainder of the setup is completed automatically.1. Go to the Petalinux root directory by running this command on the command console:
cd <path-to-installed-PetaLinux>
e.g.:
bash> cd /home/user/petalinux-v2015.4-final
For Bash:
bash> source settings.sh
Below is an example of the output from sourcing the setup script for the first time:
Petalinux environment set to ’/home/user/petalinux-v2015.4-final
INFO: Finalising Petalinux installation
INFO: Checking free disk space
INFO: Checking installed tools
INFO: Checking installed development libraries
INFO: Checking network and other services
The post-install step only occurs once. Subsequent runs of the settings script should be much quicker, and simply output a confirmation message such as that shown below:
PetaLinux environment set to ’/home/user/petalinux-v2015.4-final'
4.5 Verify Petalinux Installation
Verify that the Petalinux working environment has been set:bash> echo $PETALINUX
Environment variable "$PETALINUX" should point to the path to the installed Petalinux. Your echo output may be