Arty S7 XADC Demo
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.
|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|
|Serial Flash for Application Data||X|
- Arty S7 FPGA board
- Micro-USB cable
- Wires and a voltage to measure
- Vivado Design Suite 2017.2*
- NOTE: *Vivado 2017.4 or newer is required for the S7-25.
- Newer versions can be used, but the procedure may vary slightly
- Vivado Design Edition is required for the Spartan 7 due to an error in the Webpack Edition installer.
- A full Design Edition license is not required to use this demo.
- An existing Vivado installation can be upgraded to Design Edition through the Help → Add Design Tools or Devices dialog in the Vivado top toolbar.
- 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 S7 XADC Demo
1.) Download the ZIP Archive for the appropriate board variant in the Downloads section above.
2.) 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. The 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.
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.
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. The drop-downs below contain tables that show the switch positions that correspond to each analog input for each of the variants of the Arty S7.
- Arty S7-50
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 None Other Values
- Arty S7-25
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 A10-A11 Up Down Down Down V_P-V_N Up Down Down Up None Other Values