This page provides a list of resources to help you get started using the Xilinx Zynq UltraScale+ RFSoC, 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 for Zynq UltraScale+ MPSoC, Zynq UltraScale+ RFSoC and Zynq-7000.
Xilinx has one development board and two characterization boards for the Zynq UltraScale+ RFSoC devices. For more information, the links below take you to board-specific pages at Xilinx.com
Also, each board 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 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 atXilinx.com.. Please note that you will need a Xilinx.com login to download these files.
Xilinx provides a variety of example designs on their development boards for the users. These range from 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. For Zynq UltraScale+ RFSoC there are only example designs for the ZCU1275 and ZCU1285 boards.
Overview of the Embedded Software Stack on a Zynq UltraScale+ RFSoC
In a Zynq UltraScale+ RFSoC device there is a BootROM for initial bring up of the device. The Configuration and Security Unit (CSU) processor uses the code in the BootROM . In this configuration stage, the BootROM (part of the CSU ROM code) interprets the boot header to configure the system and load the processing system’s (PS) first-stage boot loader (FSBL) code into the on-chip RAM (OCM) in both secure and non-secure boot modes. The boot header defines many boot parameters, including the security mode and which processor should execute the FSBL. The boot header parameters can be found int the Zynq UltraScale+ Device TRM UG1085. During boot, the CSU also loads the PMU user firmware (PMU FW) into the PMU RAM to provide platform management services in conjunction with the PMU ROM. The PMU FW must be present in most systems for the Xilinx-based FSBL and system software. The loading of the FBSL before the PMU Firmware is the default configuration. Some systems will switch the order and have the PMU Firmware loaded first, so there might be other diagrams showing the FSBL and the PMU Firmware swtiched.
The First Stage Bootloader (FSBL) for Zynq UltraScale+ RFSoC configures the FPGA with the hardware bitstream (if it exists) and loads the Operating System (OS) Image, Standalone (SA) Image, 2nd Stage Boot Loader image from the non-volatile memory (NAND/SD/eMMC/QSPI) to memory (DDR/TCM/OCM), then takes A53/R5 out of reset. 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.
The FSBL is loaded into On-Chip Memory (OCM) and handed off by the Configuration and Security Unit (CSU) BootROM after authentication and/or decryption (as required) FSBL.
The Platform Management Unit (PMU) in Zynq MPSoC has a Microblaze with 32 KB of ROM and 128 KB of RAM. The ROM is pre-loaded with PMU Boot ROM (PBR) which performs pre-boot tasks and enters a service mode. For more details on PMU, PBR and PMUFW load sequence, refer to Platform Management Unit (Chapter-6) in Zynq MPSoC TRM (UG1085). PMU RAM can be loaded with a firmware (PMU Firmware) at run-time and can be used to extend or customize the functionality of PMU. Some part of the RAM is reserved for PBR, leaving around 125.7 KB for PMU Firmware.
ARM Trusted Firmware (ATF) provides a reference to secure software for ARMv8-A architecture and it provides implementations of various interface standards like PSCI(Power State Coordination Interface) and Secure monitor code for interfacing to Normal world software. Xilinx ARM trusted firmware is based on arm trusted firmware at https://github.com/ARM-software/arm-trusted-firmware. Xilinx ARM Trusted Firmware tree will be released and available at https://github.com/Xilinx/arm-trusted-firmware.
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 Ultrascale+ devices. For more information about U-Boot visit their page athttps://www.denx.de/wiki/U-Boot.
For more information about U-Boot on Zynq Ultrascale+ devices, go to theU-Bootpage on this wiki.
On the Zynq UltraScale+ devices, a hypervisor can be used to run more than one virtual machine. There are several hypervisors supported on the Zynq UltraScale+ devices. The list can be found on the Embedded Software EcoSystemXilinx.com.
Since Linux the primary OS that people start with on the Zynq UltraScale+ devices, there is more information on it at the Linux page. This includes the two different build tools used to create customer distributions. Xilinx's PetaLinux and Yocto, an open source project that is part of the Linux Foundation. The Linux page also have how to build your own Linux from the source and information about the Linux drivers that Xilinx provides.
For Zynq UltraScale+ RRSoC Power Management there is a are several wiki pages dedicated to this but a good starting point is the Zynq UltraScale＋ MPSoC Power Management page. Don't get fooled by the title of this page it has information for Zynq UltraScale+ RFSoC too.
Zynq UltraScale+ provides hardware accelerators to implement integrity, confidentiality, and authentication in system. The Configuration Security Unit (CSU) is the Zynq UltraScale+ functional block that provides interfaces required to implement the secure system. There is also a section in the Zynq UltraScale+ MPSoC Embedded Design Tutorial - (UG1209) about security and secure boot.
The following link as a list of all the documentation for Zynq UltraScale+ RFSoC from Xilinx.com. This information is hosted on the web but also available with an installation of the Xilinx tool DocNav
The Embedded Design Tutorial (EDT) is a document to use for people new to Xilinx tools and SoC products. Here is a link to get to this document and a Xilinx development board is needed to complete this tutorial.
The Zynq UltraScale+ MPSoC Solution Center is available to address all questions related to the Zynq UltraScale+ MPSoC. Whether you are starting a new design with Zynq UltraScale+ MPSoC or troubleshooting a problem, use the Zynq UltraScale+ MPSoC solution center to guide you to the right information.