By Adam Taylor

Over this blog series, I have written a lot about how we can use the Zynq SoC in our designs. We have looked at a range of different applications and especially at embedded vision. However, some systems use a pure FPGA approach to embedded vision, as opposed to an SoC like the members in the Zynq family, so in this blog we are going to look at how we can get a simple HDMI input-and-output video-processing system using the Artix-7 XC7A200T FPGA on the Nexys Video Artix-7 FPGA Trainer Board. (The Artix-7 A200T is the largest member of the Artix-7 FPGA device family.)

Here’s a photo of my Nexys Video Artix-7 FPGA Trainer Board:

Nexys Video Artix-7 FPGA Trainer Board

For those not familiar with it, the Nexys Video Trainer Board is intended for teaching and prototyping video and vision applications. As such, it comes with the following I/O and peripheral interfaces designed to support video reception, processing, and generation/output:

HDMI Input

HDMI Output

Display Port Output

Ethernet

UART

USB Host

512 MB of DDR SDRAM

Line In / Mic In / Headphone Out / Line Out

FMC

To create a simple image-processing pipeline, we need to implement the following architecture:

The supervising processor (in this case, a Xilinx MicroBlaze soft-core RISC processor implemented in the Artix-7 FPGA) monitors communications with the user interface and configures the image-processing pipeline as required for the application. In this simple architecture, data received over the HDMI input is converted from its parallel format of Video Data, HSync and VSync into an AXI Streaming (AXIS) format. We want to convert the data into an AXIS format because the Vivado Design Suite provides several image-processing IP blocks that use this data format. Being able to support AXIS interfaces is also important if we want to create our own image-processing functions using Vivado High Level Synthesis (HLS).

The MicroBlaze processor needs to be able to support the following peripherals:

AXI UART – Enables communication and control of the system

AXI Timer – Enables the MicroBlaze to time events

MicroBlaze Debugging Module – Enables the debugging of the MicroBlaze

MicroBlaze Local Memory – Connected to DLMB and ILMB (Data & Instruction Local Memory Bus)

We’ll use the memory interface generator to create a DDR interface to the board’s SDRAM. This interface and the SDRAM creates a common frame store accessible to both the image-processing pipeline and the supervising processor using an AXI interconnect.

Creating a simple image-processing pipeline requires the use of the following IP blocks:

DVI2RGB – HDMI input IP provided by Digilent

RGB2DVI – HDMI output IP provided by Digilent

Video In to AXI4-Stream – Converts a parallel-video input to AXI Streaming protocol (Vivado IP)

AXI4-Stream to Video Out – Converts an AXI-Stream-to-Parallel-video output (Vivado IP)

Video Timing Controller Input – Detects the incoming video parameters (Vivado IP)

Video Timing Controller Output – Generates the output video timing parameters (Vivado IP)

Video Direct Memory Access – Enables images to be written to and from the DDR SDRAM

The core of this video-processing chain is the VDMA, which we use to move the image into the DDR memory.

The diagram above demonstrates how the IP block converts from streamed data to memory-mapped data for the read and write channels. Both VDMA channels provide the ability to convert between streaming and memory-mapped data as required. The write channel supports Stream-to-Memory-Mapped conversion while the read channel provides Memory-Mapped-to-Stream conversion.

When all this is put together in Vivado to create the initial base system, we get the architecture below, which is provided by the Nexys Video HDMI example.

All that is required now is to look at the software required to configure the image-processing pipeline. I will explain that next time.

Code is available on Github as always.

If you want E book or hardback versions of previous MicroZed chronicle blogs, you can get them below.

First Year E Book here

First Year Hardback here