Benchmarking an FPGA based AI Vision application

Docker, Ubuntu and PetaLinux put to the test

Benchmarking an FPGA based AI Vision application
Many smart vision applications need to make fast decisions: autonomous vehicles, drones, surveillance and industrial robotics are only a few examples. When developing these kinds of AI vision systems, understanding performance-affecting factors is critical. In this post, we’ll explore two such factors: the operating system and camera type. We’ll measure and compare the performance of the NLP-SmartVision app on the ZCU104 board. The setups we’ll use are: Operating system: Docker container on Certified Ubuntu 22. [Read More]

NLP-SmartVision in PetaLinux on ZCU104

Using Raspberry Pi cameras

NLP-SmartVision in PetaLinux on ZCU104
In the last post we looked at how to run the Smartcam and NLP-SmartVision apps on the ZCU106 and Certified Ubuntu 22.04 LTS. One reader mentioned that running these apps in a Docker container on Ubuntu probably comes with a performance penalty when compared to running it on a lean PetaLinux build. This piqued my curiosity so in this post, we’re going to get the NLP-Smartvision app running in PetaLinux on the ZCU104 and then in the next post we’ll measure whatever penalty there may be to the throughput (in frames per second) and/or the glass-to-glass latency (in milliseconds). [Read More]

Develop smart vision apps for ZCU106 and RPi Camera FMC

Using Certified Ubuntu 22.04 LTS for Xilinx devices

Develop smart vision apps for ZCU106 and RPi Camera FMC
If you want to develop smart vision applications using Raspberry Pi cameras, the Zynq UltraScale+ MPSoC and Ubuntu 22.04 LTS, we’ve just released some code and the hardware to help you get started. For the launch of our new RPi Camera FMC, we’ve ported the Kria Vitis Platforms and Overlays over to the ZCU106 armed with an RPi Camera FMC. The result is that you can now build and develop the Smartcam and NLP-Smartvision applications in Certified Ubuntu 22. [Read More]

How to build the Hardware Platform for Certified Ubuntu 20.04 LTS for ZCU106

With the objective of customizing it

How to build the Hardware Platform for Certified Ubuntu 20.04 LTS for ZCU106
This post is a continuation of the previous post where we setup our ZCU106 board for Ubuntu 20.04 LTS. In this post we’re going to build the hardware platform that is built into the Certified Ubuntu 20.04 LTS images for the ZCU106 board. The reason that we would want to be able to do this is so that we can customize the hardware platform - perhaps add functionality, add external connections, or add accelerator IP. [Read More]

Certified Ubuntu 20.04 LTS running on ZCU106

Certified Ubuntu 20.04 LTS running on ZCU106
In this post we’re going to download the Certified Ubuntu 20.04 LTS image for the ZCU106 board and get it running on the hardware. This is a fairly simple post but I’ve got to write it up in preparation for future posts where we will dig deeper into this exciting new way of developing applications for Zynq UltraScale+ devices. Here’s what you’ll need: ZCU106 Zynq UltraScale+ Development board SanDisk 32GB microSD card (or one with a fairly good capacity) USB keyboard and mouse connected to the ZCU106 USB webcam (if you want to try a video application at the end) USB hub (since ZCU106 has only one USB connector) DisplayPort cable connecting ZCU106 to a monitor Ethernet cable connecting to your network router Burn the ZCU10x Ubuntu image to an SD card Start by downloading Ubuntu 20. [Read More]

How to Install Vitis and PetaLinux 2022.1

On Ubuntu 20.04

While getting into the Kria KV260 Vision AI Starter Kit Applications I’ve had to install Vitis and PetaLinux 2022.1 on Ubuntu 20.04. In this post I just want to write out some clear instructions to make it a smoother process for others that need to do the same thing. Step 1: Install dependencies It’s probably best to start by installing all of the dependencies of Vitis and PetaLinux 2022.1. Just open a terminal in Ubuntu by pressing Ctrl + Alt + T and run the following commands. [Read More]

Camera FMC: Connecting MIPI cameras to FPGAs

Camera FMC: Connecting MIPI cameras to FPGAs
FPGAs and MPSoCs are ideally suited for machine vision applications due to their ability to process large amounts of data in parallel and at high speeds. FPGAs can run highly power efficient neural network implementations and benefit from ultra low latency connections to multiple image sensors. Given the inherent strengths of FPGAs for machine vision, it surprises me that GPUs have become the dominant hardware platform for deep learning applications1 in recent years. [Read More]

A peek at the new RPi Camera FMC

A peek at the new RPi Camera FMC
In the coming weeks we’ll be launching a new product called the RPi Camera FMC. This compact little FMC card allows you to connect 4x Raspberry Pi cameras (and variants) to a few Zynq UltraScale+ MPSoC boards listed below. All of the boards will support 4 cameras through the same FMC card. AMD Xilinx ZCU104 AMD Xilinx ZCU102 AMD Xilinx ZCU106 TUL PYNQ-ZU Digilent Genesys-ZU Avnet UltraZed-EV Starter Kit I like Raspberry Pi and especially the impressive camera ecosystem that they and the RPi community have built up. [Read More]

Update Kria Boot Firmware

Update Kria Boot Firmware
In the previous post we setup the Kria KV260 Vision AI Starter Kit for PYNQ under Ubuntu 20.04.3. Now we would like to update our Kria SoMs boot firmware so that we can boot the newer Ubuntu 22.04 and use the latest PYNQ release for Kria. In this post we’ll go through the steps for updating the boot firmware of your Kria SoM. Just for clarity, the table below shows the Kria Ubuntu images that are currently available and the version of boot firmware that is required to boot them. [Read More]

Setup PYNQ on the Kria KV260 Vision AI Starter Kit

Setup PYNQ on the Kria KV260 Vision AI Starter Kit
In this post we’re going to setup the Kria KV260 Vision AI Starter Kit for use with PYNQ. For other platforms like the PYNQ-Z1, the PYNQ setup is quite simple: we download a disk image file for the version of PYNQ that we want to use and we just burn that image onto our SD card. For the Kria, it’s a bit different and unfortunately it’s a bit more complicated, at least it is at the moment I write this post. [Read More]