Versal Example Designs

This Wiki page categorizes and provides links to the many available example designs showcasing particular IP, Silicon features or tool flows targeting Versal Adaptive SoC devices.

Table of Contents

Boot and Configuration

Topic

Description

Development Board

Links

Latest Version

Topic

Description

Development Board

Links

Latest Version

Boot Time From Dual Parallel QSPI

The goal is to be able to build a VCK190 design (QSPI dual Parallel) to reproduce the boot times outlined in the boot time estimator spreadsheet.

VCK190

https://github.com/Xilinx/Vivado-Design-Tutorials/tree/2021.1/Device_Architecture_Tutorials/Versal/Boot_and_Config/vck190_boot_time

 

2021.1

Fallback & Multiboot

Fallback boot allows Versal Adaptive SoC to automatically boot a different PDI than the initial PDI on the same primary boot device if the first PDI fails to boot.

VCK190

https://github.com/Xilinx/Vivado-Design-Tutorials/tree/2022.1/Device_Architecture_Tutorials/Versal/Boot_and_Config/vck190_fallback

2022.1

Post BootROM State

This Versal example design is intended to illustrate the post bootROM state (pre-PLM) of the device on different boot modes, just to verify the registers modified by Versal ROM code.

VCK190

https://github.com/Xilinx-Wiki-Projects/VCK190-Boot/tree/master/vck190_post_boot

2020.2

Boot Files

This blog post provides an overview of the Versal Boot files

VCK190, VMK180, VPK120, VPK180

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/A-Brief-Overview-of-the-Versal-Boot-files/ba-p/1146981

2020.2

USB Secondary Boot Mode

In this blog entry we will demonstrate how to boot Linux from a USB secondary boot

VCK190

https://github.com/Xilinx/Vivado-Design-Tutorials/tree/2022.1/Device_Architecture_Tutorials/Versal/Boot_and_Config/vck190_plm_usb_second

2022.1

JTAG Boot

Vivado in-depth tutorial covering the JTAG boot mode flow

VCK190

Vivado-Design-Tutorials/Device_Architecture_Tutorials/Versal/Boot_and_Config/JTAG_Boot at 2021.2 · Xilinx/Vivado-Design-Tutorials (github.com)

2021.2

OSPI Boot

Example demonstrating octal SPI (OSPI) boot on a VCK190.

VCK190

Vivado-Design-Tutorials/Device_Architecture_Tutorials/Versal/Boot_and_Config/vck190_boot_ospi at 2023.1 · Xilinx/Vivado-Design-Tutorials · GitHub

2023.1

PDI Compression

This Versal example design will demonstrate how to generate a compressed and uncompressed PDI for the VCK190.

VCK190

https://github.com/Xilinx-Wiki-Projects/VCK190-Boot/tree/master/vck190_boot_compression

2020.2

AXI DMA, CIPS, DDR, NoC, and VIP

Topic

Description

Development Board

Links

 

Topic

Description

Development Board

Links

 

AXI DMA Standalone application

The Versal example design will show how to run AXI DMA standalone application example on VCK190 and intended to demonstrate the AXI DMA standalone driver which is available as part of the Xilinx Vivado and Vitis.

VCK190

https://github.com/Xilinx/XilinxCEDStore/tree/2023.2/ced/Xilinx/IPI/VCK190-AXIDMA-Example

2023.2

CIPS and DDR

Configurable example design showing CIPS IP and DDR connections, delivered via the CED Store for use within Vivado

VCK190/VMK180

https://github.com/Xilinx/XilinxCEDStore/tree/2022.1/ced/Xilinx/IPI/cips_ddr_pl_debug

2022.1

CIPS VIP

Configurable example design showing simulating with the CIPS Verification IP, delivered via the CED Store for use within Vivado

VCK190

https://github.com/Xilinx/XilinxCEDStore/tree/2022.1/ced/Xilinx/IPI/cips_vip

2022.1

AXI BRAM

This Blog entry is intended to illustrate how to access the AXI BRAM from the Versal™ Application processing Unit (APU) through the NoC

VCK190

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Basic-read-write-to-AXI-BRAM-from-PS-APU-through-NoC-in-Versal/ba-p/1172775

2020.2

CIPS & MicroBlaze

This blog post shows how to leverage Versal CIPS IP from MicroBlaze

VCK190

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/How-to-leverage-Versal-CIPS-IP-from-MicroBlaze/ba-p/1184023

2020.2

Memory Interfaces

This blog entry will cover important information you should understand before designing with Memory Interfaces on Versal Adaptive SoC devices. 

VCK190, VMK180, VPK120, VPK180

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Getting-Started-with-Versal-Memory-Interfaces/ba-p/1192335

2020.2

NoC and DDRMC

This example connects many different DDR devices simultaneously in one design to communicate to PS through NoC. It connects one DDR4 device and two interleaved LPDDR4 devices, which requires one NoC instance to configure the DDRMC for the DDR4 device and another NoC instance to configure the two interleaved DDRMCs for the two LPDDR4 devices.

VCK190/VMK180

https://github.com/Xilinx/Vivado-Design-Tutorials/tree/master/Device_Architecture_Tutorials/Versal/NoC_DDRMC/03-Multiple_DDRMC

2021.1

NoC and DDRMC

This tutorial introduces the basic concepts, tools, and techniques of the NoC and DDR memory controller design flow in Vivado

VCK190, VMK180, VPK120, VPK180

https://github.com/Xilinx/Vivado-Design-Tutorials/blob/master/Device_Architecture_Tutorials/Versal/NoC_DDRMC/Intro_Design_Flow

2021.1

NoC and DDRMC

Learn how to tune your NoC and DDR memory controller designs to deliver optimum performance for your designs.

VCK190, VMK180, VPK120, VPK180

https://github.com/Xilinx/Vivado-Design-Tutorials/blob/master/Device_Architecture_Tutorials/Versal/NoC_DDRMC/Performance_Tuning

2021.1

NoC

This tutorial uses a complex design example to demonstrate how the NoC simplifies the design process for on-chip data movement.

VCK190, VMK180, VPK120, VPK180

https://github.com/Xilinx/Vivado-Design-Tutorials/blob/master/Device_Architecture_Tutorials/Versal/NoC_DDRMC/04-NoC_Data_Movement_Comparison

2021.1

PCB Design DDRMC

This tutorial introduces best pracices for working with DDR memory pinouts in Versal.

VCK190, VMK180, VPK120, VPK180

https://github.com/Xilinx/Vivado-Design-Tutorials/blob/master/Device_Architecture_Tutorials/Versal/PCB_Design/Memory_Pinouts

2020.2

PCB Design DDR

This tutorial covers how to perform DDRx signal integrity simulations with the Mentor Graphics DDRx Wizard.

VCK190, VMK180, VPK120, VPK180

https://github.com/Xilinx/Vivado-Design-Tutorials/blob/master/Device_Architecture_Tutorials/Versal/PCB_Design/Hyperlynx_DDRx_Timing_Models

2020.2

DDR Calibration Done

This blog post shows how to export the DDR Calibration done pin to the PL in Versal.

VCK190, VMK180, VPK120, VPK180

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Versal-How-to-export-the-DDR-Calibration-done-pin-to-the-PL/ba-p/1230598

2020.2

Performance AXI Traffic Generator

Introduction to the simulation-only and synthesizable versions of the Versal Performance Traffic Generator.

VCK190

https://github.com/Xilinx/Vivado-Design-Tutorials/tree/2022.1/Device_Architecture_Tutorials/Versal/NoC_DDRMC/Versal_Performance_AXI_Traffic_Generator

2022.1

Versal Cache Coherency

Demonstrates how to perform cache coherent transactions from different masters connected to the CCI-500 or cache coherent interconnect on a Versal device.

VCK190

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2535292995

2022.2

 

PS Peripherals

Topic

Description

Development Board

Links

Latest Version

Topic

Description

Development Board

Links

Latest Version

USB

Examples demonstrating Host & Device mode of the Versal PS USB controller.

VCK190

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2069987899/Versal+Linux+USB+Device+Driver+Examples

2021.1

Low Speed Peripherals

This repository contains VCK190 design files for PS and PL based LowSpeed IPs.

There are few available designs:

  • axi_can - AXI CAN IP design subsytem with CIPS

  • axi_can_fd - AXI CAN FD design subsystem with CIPS

  • axi_i2c - AXI IIC IP design subsytem with CIPS

  • ps_i2c - PS IIC design only

  • ps_can_fd - PS CAN FD design only

  • axi_uartlite - AXI UARTLite IP design subsytem with CIPS

  • ps_sbsa_uart - PS UART IP design only

VCK190

https://github.com/Xilinx/Embedded-Design-Tutorials/tree/2021.1/examples/versal/lowspeed_IPs

2021.1

IO, AMS and Clocking

Topic

Description

Development Board

Links

Latest Version

Topic

Description

Development Board

Links

Latest Version

Advanced IO Wizard

This Blog entry is intended for new users of the Versal™ Advanced IO Wizard. It gives an introduction to setting up the Wizard and some insights into running a simulation. 

VCK190, VMK180, VPK120, VPK180, VHK158

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Versal-Advanced-IO-Wizard-Walk-through-on-using-the-Wizard-and/ba-p/1171904

2020.2

GTY/GTYP/GTM Transceiver

Topic

Description

Development Board

Links

Latest Version

Topic

Description

Development Board

Links

Latest Version

Multi-Rate GTY

This example describes a Versal GTY multi-rate design using the following configuration:

  • Two rates: 10G and 25G switchable line rates

  • Single GTY lane connected through SFP on VCK190/VMK180 evaluation board

VCK190, VMK180

https://github.com/Xilinx/XilinxCEDStore/tree/2023.1/ced/Xilinx/IPI/Versal%20Multi-Rate%20GTY

 

2023.1

Simplex TX/RX

This blog post shows how to combine Simplex TX/RX cores for several quads in IP Integrator

VCK190, VMK180, VPK120, VPK180

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Versal-GTY-how-to-combine-Simplex-TX-RX-cores-for-several-quads/ba-p/1178478

2020.2

GTY Simulation

This blog entry covers a GTY simulation example, demonstrating how the GTY comes out of reset, and performs rate change.

VCK190, VMK180, VPK120, VPK180, VHK158

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Versal-GTY-Simulation-Initialization-Reset-and-Rate-Change/ba-p/1176867

2020.2

Combine Within GT Quad

This example introduces the design flow on combining different IP within one quad with the Xilinx Vivado Integrated Design Environment.

VCK190

https://github.com/Xilinx/XilinxCEDStore/tree/2020.2/ced/Xilinx/IPI/Versal%20Combine_within_GT_quad

2020.2

GTY and GTY/GTYP

This blog post discusses the differences between designing with UltraScale+ GTY and Versal GTY/GTYP

N/A

https://support.xilinx.com/s/article/Differences-Designing-with-UltraScale?language=en_US

N/A

IPI Demo: GT to IP Integration

Blog 2A covers simple to complex use cases of Serial Transceivers (GT) in an IPI design, including how to instantiate the GT, making connections to the GT quad, sharing the quad with multiple IPs, assigning GT lane locations, and clocking and reset topology. 

Blog 2B covers how to modify an IP and its GT sources/attributes in the IP examples when needed. It uses Ethernet IP, such as MRMAC and DCMAC as an example. The methods described are also applicable to other parent IPs.

N/A

IPI Blog Series 2A: GT Design Entry in IP Integrator (IPI)
IPI Blog Series 2B: GT to IP (Ethernet) Integration - How to edit IP and its GT sources/attributes

N/A

PCIe

Topic

Description

Development Board

Links

Latest Version

Topic

Description

Development Board

Links

Latest Version

PCIe Link Debug Demo

This Blog entry is shows how to debug the Versal Adaptive SoC Integrated Block for PCIe Express link issues using in-built "PCIe Link Debug" feature.

VCK190

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Debugging-Versal-Adaptive SoC-Integrated-Block-for-PCIe-Express-link/ba-p/1203707

2020.2

Versal Adaptive SoC CPM4 PCIE GEN4x8 QDMA CED Example Design

This blog illustrates steps to generate the CPM4 PCIE Gen4x8 Example Design in Vivado 2021.1 and run some functional tests with the driver provided for the QDMA.

VCK190

https://support.xilinx.com/s/article/000033892?language=en_US

2021.1

Ethernet

Topic

Description

Development Board

Links

Latest Version

Topic

Description

Development Board

Links

Latest Version

PS-GEM

This blog demonstrates how to bring up the PS-GEM in Versal.

VCK190

https://github.com/Xilinx-Wiki-Projects/VCK190-Ethernet/tree/master/2021.1/ps_mio_eth_1g_prod

2021.1

PS and PL based Ethernet

Example designs of using PS GEM and PL BASE-X or SGMII IP on PL with 1G SFP.

VCK190

https://github.com/Xilinx-Wiki-Projects/VCK190-Ethernet/tree/master/2022.1/ps_emio_basex_1g

2021.1

PL 1G Ethernet

This project is about building Versal based AXI 1G/2.5G Ethernet Subsystem example design and testing it by targeting on VCK190 Adaptive SoC device using SGMII SFP

VCK190

https://github.com/Xilinx-Wiki-Projects/VCK190-Ethernet/tree/master/2020.2/pl_eth_1G

2020.2

MRMAC

This blog covers the key differences between designing with UltraScale+ CMAC and Versal MRMAC.

VCK190, VMK180, VPK120, VPK180, VHK158

https://support.xilinx.com/s/article/1209580

2020.2

MRMAC

MRMAC Ethernet TRD with 1588 PTP PPS Phase Synchronization feature and Inline Timestamping logic

 VCK190

https://github.com/Xilinx/vck190-ethernet-trd

 2022.2

DCMAC

 DCMAC even or odd active lane selection when GTM line rate is 106.25 Gb/s.

N/A

https://support.xilinx.com/s/article/Using-even-or-odd-active-lanes-when-DCMAC-line-rate-is-106-25-Gb-s?language=en_US

2023.1

DCMAC

Versal DCMAC example design running on NoC DDRMC LPDDR4

N/A

 https://support.xilinx.com/s/article/Versal-DCMAC-example-design-running-on-NOC-DDRMC-LPDDR4?language=en_US

2023.1

AI Engine

Topic

Description

Development Board

Links

Latest Version

Topic

Description

Development Board

Links

Latest Version

AI Engine tools, graphs, kernels and compiler

Series of blog posts that demonstrates how to get started with AI Engine tools, graphs, kernels and compiler.

VCK190

https://support.xilinx.com/s/question/0D52E00006xR6iXSAS/ai-engine-blog-series

2020.2

Operating Systems

Topic

Description

Development Board

Links

Latest Version

Topic

Description

Development Board

Links

Latest Version

OpenAMP/FreeRTOS

This example demonstrates the usage of remoteproc kernel driver by the master processor (A72) on the VCK190 to load remote application firmware on the R5 processor.

VCK190

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/953647231/Loading+FreeRTOS+RPU+firmware+on+VCK190+using+remoteproc+driver

2021.1

Embedded Design Tutorial

Topic

Description

Development Board

Links

Topic

Description

Development Board

Links

Embedded Tutorial

The examples in this tutorial are created using the Xilinx tools running on a Windows 10, 64-bit operating system, Vitis software platform and PetaLinux on a Linux 64-bit operating system. Other versions of the tools running on other Windows installs might provide varied results. These examples focus on introducing you to the following aspects of embedded design.

VCK190

https://xilinx.github.io/Embedded-Design-Tutorials/docs/2020.2/build/html/index.html

YouTube Videos:

  1. https://www.youtube.com/watch?v=D-iUx3wxD5s&t=6s

  2. https://www.youtube.com/watch?v=7iX44nWb9zA&t=2s

  3. https://www.youtube.com/watch?v=GGJlAkVc9aw&t=3s

  4. https://www.youtube.com/watch?v=drtAHHAcEyA&t=6s

  5. https://www.youtube.com/watch?v=gdgfeOPTdfA

© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy