Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.
Xilinx TRD (Targeted Reference Designs): Complete Getting Started Guide
When I first received a ZCU102 evaluation board, I made the classic mistake of trying to build everything from scratch. After spending two weeks wrestling with boot configurations and video pipeline drivers, a colleague pointed me to Xilinx TRD packages. What took me weeks to accomplish poorly, the Targeted Reference Design got running in an afternoon. If you’re working with Zynq UltraScale+ MPSoC boards and want to accelerate your development, understanding Xilinx TRD resources will save you countless hours.
A Xilinx TRD (Targeted Reference Design) is a complete, working design package that demonstrates specific capabilities of AMD/Xilinx evaluation boards. Unlike bare-bones examples that show a single IP block in isolation, TRDs integrate multiple hardware and software components into functional systems that you can boot, run, and extend for your own applications.
Each Xilinx TRD package typically includes Vivado hardware design files with IP Integrator block diagrams, PetaLinux Board Support Packages (BSP) for building Linux images, pre-built SD card images for immediate testing, source code for applications and drivers, and comprehensive documentation with step-by-step tutorials. The beauty of these reference designs is that they’re fully supported by AMD and updated with each major tool release. When you encounter issues, the Xilinx Community Forums have active discussions specifically tagged for TRD troubleshooting.
Available Xilinx TRD Types for Zynq UltraScale+
AMD maintains several TRD variants targeting different application domains. Here’s an overview of the primary options:
The ZCU102 TRD serves as the foundational reference design for Zynq UltraScale+ MPSoC development. It demonstrates the heterogeneous processing capabilities of the device across the Application Processing Unit (APU), Real-Time Processing Unit (RPU), and Programmable Logic (PL).
The ZCU102 TRD supports multiple video input sources including HDMI Rx, MIPI CSI-2 Rx for camera sensors, USB webcam, and an internal Test Pattern Generator. For outputs, you get both DisplayPort Tx and HDMI Tx pipelines. The design includes hardware-accelerated 2D convolution filters and optical flow processing that you can toggle between software and hardware implementations to understand the performance benefits of PL acceleration.
What makes the ZCU102 TRD particularly educational is its modular structure. The design is broken into ten Design Modules (DM1 through DM10) that progressively build complexity. DM1 covers basic SMP Linux on the APU, DM2 adds FreeRTOS on RPU0, DM3 implements bare-metal performance monitoring on RPU1, and subsequent modules combine these elements with video pipelines and accelerators.
ZCU106 TRD: Video Codec Unit Reference Design
If your application involves video encoding or decoding, the ZCU106 TRD is where you need to start. The ZCU106 board features the Zynq UltraScale+ EV device variant, which includes a hardened Video Codec Unit (VCU) capable of simultaneous H.264/H.265 encoding and decoding at 4K resolution and 60 frames per second.
The ZCU106 TRD demonstrates the VCU capabilities through multiple design modules covering different use cases. You’ll find configurations for HDMI capture and display, MIPI camera input, SDI interfaces for broadcast applications, and even PCIe-based transcoding where the ZCU106 acts as an accelerator card in a host system.
The software stack in the ZCU106 TRD uses GStreamer as the multimedia framework, with OpenMAX IL integration for the VCU encoder and decoder elements. This architecture lets you construct video pipelines using familiar GStreamer command-line tools or the provided Qt-based GUI application.
Let me walk through the practical steps to get a TRD running on your board. I’ll use the ZCU106 VCU TRD as the example since video codec applications are common, but the process is similar for other TRDs.
Step 1: Download the TRD Package
Navigate to the evaluation kit documentation page for your board on the AMD website. For the ZCU106, this is the “Zynq UltraScale+ MPSoC ZCU106 Evaluation Kit” product page. Under the Documentation & Designs tab, you’ll find the TRD download link. The package filename follows a pattern like rdf0428-zcu106-vcu-trd-2022-1.zip where the version number matches your Vivado/PetaLinux tool version.
After downloading, extract the archive to a working directory. I recommend using a path without spaces since some build scripts can have issues with spaces in paths.
Step 2: Understand the Package Structure
The TRD package has a consistent directory organization:
Directory
Contents
apu/
PetaLinux BSP, applications, Qt GUI source
pl/
Vivado project scripts, constraints, HDL sources
images/
Pre-built BOOT.BIN, image.ub, SD card contents
documentation/
Test reports, release notes
The images directory is your fast path to a working system. The pl and apu directories contain everything needed to rebuild the design from source if you need to customize it.
Step 3: Prepare the SD Card
Format an SD card with a FAT32 partition (most cards come this way). Copy the pre-built image files from the appropriate design module folder. For the basic VCU TRD, you need BOOT.BIN (contains FSBL, U-Boot, PMU firmware, and bitstream), image.ub (Linux kernel and device tree), and any application binaries or configuration files specified in the documentation.
Step 4: Configure Board Connections
The ZCU106 TRD board setup requires several connections. Set the boot mode switches (SW6) for SD card boot, typically with switches in the ON-OFF-OFF-OFF position. Connect the micro USB cable to J83 for UART console access. Insert the prepared SD card into slot J100. Connect your display via DisplayPort (U129) or HDMI (P7). For video input designs, connect your source to the appropriate HDMI Rx or attach an FMC camera module to the FMC connector.
Step 5: Boot and Run
Connect power (12V to the 6-pin Molex connector) and open a terminal emulator configured for 115200 baud, 8N1. You should see boot messages as the system initializes. Once Linux boots, the TRD applications are typically available in the root filesystem.
For the VCU TRD, you can run the command-line GStreamer application with configuration files that specify your desired pipeline:
This launches a 4K60 H.264 encoding pipeline displaying to HDMI output.
Building the Xilinx TRD from Source
While pre-built images get you started quickly, real projects require customization. Here’s how to rebuild TRD components.
Rebuilding the Hardware Platform
The Vivado project can be regenerated from TCL scripts included in the pl directory. Source your Vivado installation and run the provided Makefile or TCL script. The build process creates a block design using IP Integrator, connects the processing system to PL peripherals, and generates a hardware handoff file (XSA) for software development.
For the ZCU106 VCU TRD, expect the Vivado build to take one to two hours depending on your workstation specifications. The resulting XSA file feeds into the PetaLinux build.
Rebuilding the Software Platform
PetaLinux builds consume the hardware XSA and produce bootable Linux images. The TRD includes a BSP file that pre-configures kernel options, device tree settings, and root filesystem contents for the reference design.
Create a new PetaLinux project from the BSP, configure it with your rebuilt XSA if you modified the hardware, and run the build. The output includes all boot components ready for SD card deployment.
Design Module Dependencies in ZCU102 TRD
The ZCU102 Base TRD uses a dependency structure where advanced modules build upon simpler ones. Understanding this helps when customizing.
Design Module
Description
Dependencies
DM1
SMP Linux on APU
None
DM2
FreeRTOS on RPU0
None
DM3
Bare-metal on RPU1
None
DM4
OpenAMP (APU + RPU1)
DM1, DM3
DM5
Video capture/display pipelines
DM1
DM6
Video + performance monitoring
DM1, DM5
DM7
Video + FreeRTOS heartbeat
DM1, DM2, DM5
DM8
2D filter accelerator
DM1, DM5
DM9
Optical flow accelerator
DM1, DM5
DM10
Full-featured TRD
All
If you only need video functionality without the RPU demonstrations, you can work with DM5 or DM8/DM9 without dealing with the multi-processor complexity of the full DM10 design.
Through my own TRD experiences and monitoring the forums, certain issues appear repeatedly.
HDMI monitors sometimes fail to link at the expected resolution. The TRD may default to HDMI 1.4 mode (30fps at 4K) instead of HDMI 2.0 (60fps). Check dmesg output for messages about the DP159 retimer configuration. Power cycling the monitor often resolves initial link failures.
Memory allocation errors in the GUI application typically indicate the video source is in an incompatible state. Power cycle any connected HDMI sources to ensure they’re outputting standard formats before launching TRD applications.
SDSoC accelerator performance varies dramatically between Debug and Release builds. Always use Release configuration (-O3 optimization) for performance testing.
Frequently Asked Questions
What Vivado version should I use with a specific TRD release?
TRD packages are tightly coupled to specific tool versions. The package filename includes the version (e.g., 2022.1), and you must use matching Vivado and PetaLinux versions. Mixing versions causes compatibility issues with IP cores and BSP configurations.
Can I use ZCU106 TRD designs on ZCU102?
The boards have different device variants (EV vs. CG/EG), different I/O configurations, and different peripheral implementations. While software concepts transfer, the hardware designs require significant modification. Use the TRD specifically created for your board.
How do I add custom IP to a TRD hardware design?
Open the regenerated Vivado project, modify the block design to include your IP, update constraints if needed, and rebuild the XSA. You’ll then need to update device tree entries and potentially add Linux drivers to the PetaLinux configuration.
Are TRD designs production-ready?
TRDs are reference implementations intended for evaluation and as starting points. They demonstrate functionality but may not be optimized for power consumption, resource utilization, or specific performance targets. Production designs typically require significant customization.
Where can I get technical support for TRD issues?
Start with the Xilinx Community Forums, searching for existing threads before posting new topics. Include your TRD version, tool versions, and specific error messages. The Xilinx Answers Database also contains solutions to known issues. For deeper engagement, contact your AMD FAE.
Conclusion
Xilinx TRD packages represent years of engineering effort distilled into accessible reference designs. Whether you’re evaluating Zynq UltraScale+ capabilities, prototyping a video application, or learning the platform, these Targeted Reference Designs provide working examples that demonstrate best practices for hardware/software integration.
The ZCU102 TRD gives you a comprehensive platform for understanding heterogeneous processing with video pipelines. The ZCU106 TRD delivers everything needed for serious video codec development. Both include the source code, scripts, and documentation to take you from running pre-built images to building fully customized systems.
Start with the pre-built images to verify your hardware setup, then progressively dig into the build flows as your project requirements demand customization. The modular design module approach lets you focus on exactly the functionality you need without getting overwhelmed by the complete system complexity.
Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.