This is an old revision of the document!


Arty S7 XADC Demo

Overview

Description

This simple XADC Demo project demonstrates a simple usage of the Arty S7's XADC pin capability. The behavior is as follows:

  • The 6 User LEDs increment from top right to left then bottom right to left as the voltage difference on the selected XADC pins gets larger.
  • The four switches select which channel to read from.

Features Used

Not Used Used
4 User Switches X
4 User LEDs X
2 User RGB LEDSs X
4 User Push Buttons X
4 Pmod Connectors X
XADC Analog Input X
USB-UART Bridge X
Serial Flash for Application Data X

Prerequisites

Hardware

  • Arty S7 FPGA board
  • Micro-USB cable
  • Wires and a voltage to measure

Software

  • Vivado Design Suite 2017.2
    • Newer versions can be used, but the procedure may vary slightly
    • Currently you need to use the Design Edition for the Spartan 7 do to an error with the Spartan 7 in the Webpack edition
    • The Design Edition of Vivado will work without a Design Edition license as long as you are not targeting a device the requires the Design Edition license.
  • Digilent Board Support Files for Vivado

Downloads

Arty S7 XADC Project Repository – ZIP Archive GIT Repo


Download and Launch the Arty S7 XADC Demo

Follow the Using Digilent Github Demo Projects Tutorial. This is an HDL design project, and as such does not support Vivado SDK, select the tutorial options appropriate for a Vivado-only design. Your circuit to be measured does not need to be connected to the Arty S7 before programming, so you do not need to return to this guide until you finish the tutorial.

Using the Arty S7 XADC Demo

1) Applying a voltage to the XADC port

For this demo, A0-A5 are single-ended analog inputs while A6-A7, A8-A9, and V_P-V_N are differential analog input pairs.

Important

The Voltage range for differential analog input pairs is 0-1V and the range for single-ended analog inputs is 0-3.3V. For the pairs, A6, A8, and V_P are the positive inputs and A7, A9, and V_N are the negative inputs.

2) LEDs

The LEDs turn on from right to left then continue onto the bottom as the input voltage increases.


XADC Demo with Analog Input 0 (Single-Ended) receiving 0.0V, 2.0V, 3.3V
3) Selecting a channel

To display a different channel on the LEDs, change the user switches to the desired channel, as seen in the table below.
Channel Pin/s SW3 SW2 SW1 SW0
A0 Down Down Down Down
A1 Down Down Down Up
A2 Down Down Up Down
A3 Down Down Up Up
A4 Down Up Down Down
A5 Down Up Down Up
A6-A7 Down Up Up Down
A8-A9 Down Up Up Up
V_P-V_N Up Down Down Down
A0 Other Values