This page provides a list of resources to help you get started using the Xilinx Zynq-7000 SoC, including pre-built images for Xilinx development boards, tutorials, and example designs. More detailed information can be found by following the links provided on this page.
Whether you're an expert or novice user, the easiest way to get started with a Xilinx development board is to start with a pre-built Linux image for your board. If you're new the Xilinx embedded design flow, the Embedded Design Tutorial is the recommended way to learn the tools and design flow. To build a custom Linux image, it's recommended that you start with a Petalinux BSP for one of the Xilinx boards, and then customize the configuration to suit your needs.
Table of Contents
Pre-Built Release Images
The pre-built images referenced here are for the Xilinx development boards. These can loaded on to SD Cards on the Xilinx development boards and you can boot Linux. The Pre-Built Releases Images page includes images for Zynq UltraScale+ MPSoC, Zynq UltraScale+ RFSoC and Zynq-7000.
Evaluation Boards and BSP
PetaLinux Board Support Packages (BSP) and Reference Examples include pre-built boot loaders, system images and bitstreams. Built-in tools allow a single command to deploy and boot these elements to either physical hardware, or to the included full QEMU system emulator. With PetaLinux, developers can have their Xilinx-based hardware booted and running within about 5 minutes after installation; ready for application, library and driver development.
Xilinx provides two development board for the Zynq-7000 devices. For more information, the links below take you to board-specific pages at Xilinx.com
Each board also comes with a PetaLinux BSP that includes an image, documentation to recreate that image and a design that can be used as a starting point for the hardware user. There is one BSP for each board above. They are called PetaLinux BSPs since the Xilinx tool PetaLInux is used to create these images. The links below take you to the PetaLinux Download page at Xilinx.com. Please note that you will need a Xilinx.com login to download these files.
Xilinx has many partners that design boards using Zynq-7000 SoCs and here are a few.
- Avnet - Zedboard.com
Xilinx provides a variety of example designs on their development boards for the users. These range OS, power management and graphic examples. An example design is a snapshot in time. What this means is that the design is done on a specific Xilinx tool release and not necessarily updated to other tool releases or the current release. The user can take these and update them on their own.
Targeted Reference Designs (TRD)
Xilinx also provides a smaller set of Targeted Reference Designs or TRDs. There are not as many TRDs as Example Designs. However these TRDs are updated on each major tool release for a set amount of time. The TRDs are fully supported by Xilinx.
Embedded Design Tutorial (EDT)
The Embedded Design Tutorial provides an introduction to using the Xilinx® Vivado® Design Suite flow for using the Zynq-7000 device. The examples are targeted for the Xilinx ZC702 evaluation boards. The latest versions of the EDT use the Vitis™ Unified Software Platform.
Overview of the Embedded Software Stack on a Zynq-7000
The following is an overview of the embedded software stack for a Zynq-7000 SoC.
The processor system boot is a two-stage process. The first stage is an internal BootROM which stores the stage-0 boot code. The BootROM executes on CPU 0 and CPU 1 executes the wait-for-event (WFE) instruction. The BootROM also configures the necessary peripherals to start fetching the First Stage Bootloader (FSBL) boot code from one of the boot devices. The programmable logic (PL) is not configured by the BootROM. The second state is the FSBL boot code. This is typically stored in one of the flash memories, the SD card, or can be downloaded through JTAG. The BootROM code copies the FSBL boot code from the chosen non-volatile memory to on-chip memory (OCM). The size of the FSBL loaded into OCM is limited to 192 kilobyte. The full 256 kilobyte is available after the FSBL begins executing. There is an optional second stage boot loader that is optional and user-designed. A common second stage boot loader is U-boot.
The First Stage Bootloader (FSBL) for Zynq-7000 configures the FPGA with the hardware bitstream (if it exists) and loads the Operating System (OS) Image, Standalone (SA), or 2nd Stage Boot Loader image from the non-volatile memory (NAND/SD/eMMC/QSPI) to Memory (DDR/TCM/OCM). It supports multiple partitions and each partition can be a code image, bitstream, or generic data. Each of these partitions, if required, can be authenticated and/or decrypted.
For more information, go to the Zynq-7000 FSBL page.
U-Boot, short for Universal Boot Loader, is an open source, primary boot loader used in embedded devices to boot the device's operating system kernel that is frequently used in the Linux community. Xilinx uses U-Boot as a second stage boot loader in the Zynq-7000 devices. For more information about U-Boot visit their page at https://www.denx.de/wiki/U-Boot.
For more information about U-Boot on Zynq-7000 devices go to the U-Boot page on this wiki.
Since Linux is the primary OS that people start with on the Zynq-7000 devices there is more information on it at the Linux page. This includes the two different build tools used to create customer distributions. These two tools include Xilinx's PetaLinux and Yocto, an open source project that is part of the Linux Foundation. The Linux page also describes how to build your own Linux from the source and links to information about the Linux drivers that Xilinx provides.
For Zynq-7000 Power Management there is a are several wiki pages dedicated to this but a good starting point is the Zynq-7000 Power Management page.
Zynq-7000 provides hardware accelerators to implement integrity, confidentiality, and authentication in system. For a list of resources on Zynq-7000 Security visit the following page: Zynq-7000 AP SoC Security. There is also a section in the Zynq-7000 All Programmable SoC Software Developers Guide - (UG821) about security and secure boot.
The following link is a list of all the documentation for Zynq-7000 from Xilinx.com. This information is hosted on the web but is also available with an installation of the Xilinx tool DocNav.
The Xilinx Community Forums are places to get some answers on questions or search to see what issues others have had with Xilinx devices.
The Xilinx Community Portal showcases Xilinx in the Open Source Space and highlights projects that have been done with Xilinx products.
The Zynq-7000 SoC Solution Center is available to address all questions related to the Zynq-7000 SoC. Whether you are starting a new design with Zynq-7000 SoC or troubleshooting a problem, use the Zynq-7000 SoC solution center to guide you to the right information.
The Xilinx tools provide all required tool chains to compile and link applications for Xilinx supported platforms, create and configure hardware designs and create bitstreams.