Arty Z7 XADC Demo
A project that instantiates the XADC IP Core and measures an analog voltage, this simple XADC demo is a Verilog project made to demonstrate the ADC functionality of the Arty Z7.
- The LED associated with a specific channel brightens when the read voltage goes up.
- The two user switches enable two XADC channels to be read from.
This demo uses the chipKIT Analog connector, which has differential ports 1, 2, and 3 connected to the XADC pins 12, 0, and 8, respectively. This can be seen in the schematic below.
|2 user switches||X|
|2 user LEDs||X|
|2 user RGB LEDs||X|
|4 user push buttons||X|
|Micro SD card connector||X|
|HDMI Sink and HDMI Source||X|
|PWM mono audio out w/ 3.5mm jack||X|
|10/100/1000 Ethernet PHY||X|
|512MB 1050Mb/s DDR3 Memory||X|
|Two Pmod ports||X|
|chipKIT connector for XADC signals||X|
|USB HID Host||X|
- Arty Z7 board
- Micro-USB cable
- Vivado Design Suite 2016.4
- Newer/older versions can be used, but the procedure may vary slightly
- Digilent Board Support Files for Vivado
- Follow the Vivado Board Files for Digilent 7-Series FPGA Boards guide on how to install Board Support Files for Vivado.
Download and Launch the Arty Z7 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. Since you do not need to set up your circuit until your board is already programmed, you do not need to return to this guide until programming is complete.
Using the Arty Z7 XADC Demo
1. LEDs and Switches
The demo reads analog data in from each enabled XADC channel (set the associated switch to the high position to enable that channel) and sets the brightness on the associated led linearly. Higher voltage = brighter led.
2. Setting up the Circuit
As seen below, this demo was tested using a resistor ladder to show the different brightness values the demo puts out. This demo can be used to measure any voltage between 0 and 1 volt. The brighter the led, the closer to 1 the voltage is. The voltages below are 0.5V and 0.1V. The circuit below uses a chain of ten 1KOhm resistors in series with two parallel 47KOhm resistors tied to the 3V3 and GND pins of the XADC Pmod header to create these voltages.