This is an old revision of the document!


Zedboard LED Demo


Overview

This guide will provide a step by step walk-through of importing a custom IP into Vivado and getting started in Xilinx SDK.

At the end of this tutorial you will have:

  • Imported and implemented a custom DigiLEDs IP block into the design.
  • Created .C Project in Xilinx Vivado SDK ( Software Development Kit) to interface with the Zedboard.

Prerequisites

Skills

  • Familiarity with Vivado
  • Block Design Experience

Hardware

  • Digilent Zedboard Board
  • Micro USB Cable
    • Used for UART communication and JTAG programming
  • Programmable RGB LEDs (WS2812, Neopixels)
    • Data-in Signal wire connected to Zedboard's JB1

Software

  • Xilinx Vivado 2016.2 with the SDK package.

Board Support Files

  • Zedboard Support Files

Project Files

  • DigiLED Custom IP : ZIP
  • main.c file : ZIP

Introduction

In this tutorial, we are going to add our own custom IP block into the base system design to be used with some programmable RGB LEDs.


General Design Flow

I. Vivado

  • Open Vivado
  • Create a new block design
  • Add the Zynq core IP and automate it
  • Add the DigiLEDs custom IP to the project's IP repository
  • Add the DigiLEDs IP to the design and configure it.
  • Validate and save block design
  • Create HDL system wrapper
  • Run design Synthesis and Implementation
  • Generate Bit File
  • Export Hardware Design including the generated bit stream file to SDK tool
  • Launch SDK

Now the Hardware design is exported to the SDK tool. The Vivado to SDK hand-off is done internally through Vivado. We will use SDK to create a Software application that will use the customized board interface data and FPGA hardware configuration by importing the hardware design information from Vivado.

II. SDK

  • Create new application project and select Empty Application template
  • Import main.c
  • Program FPGA