Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| learn:programmable-logic:tutorials:nexys-4-xadc-demo:start [2016/11/17 20:32] – [1. Download the Project] Sam Lowe | learn:programmable-logic:tutorials:nexys-4-xadc-demo:start [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| NOTE: This project is currently | NOTE: This project is currently | ||
| - | ====== | + | ====== |
| {{: | {{: | ||
| - | ----- | + | ===== Overview ===== |
| - | ===== Features Used ===== | + | |
| + | ==== Description ==== | ||
| + | |||
| + | This simple XADC Demo project demonstrates a simple usage of the Nexys 4's | ||
| + | XADC port capability. The behavior is as follows: | ||
| + | |||
| + | * The 16 User LEDs increment from right to left as the voltage difference on the selected XADC pins gets larger. | ||
| + | * The two seven segment displays show the voltage difference on the AD11 pins in volts. | ||
| + | * sw0 and sw1 select which channel to read from | ||
| + | |||
| + | ==== Features Used ==== | ||
| | ^ Not Used ^ Used ^ | | ^ Not Used ^ Used ^ | ||
| Line 30: | Line 40: | ||
| ^ 10/100 Ethernet PHY | ^ 10/100 Ethernet PHY | ||
| - | ===== Description | + | ===== Prerequisites |
| - | This simple XADC Demo project demonstrates a simple usage of the Nexys4' | + | ===Hardware=== |
| - | XADC port capability. The behavior is as follows: | + | * **Nexys 4 FPGA board** |
| - | + | * **Micro-USB cable** | |
| - | * The 16 User LEDs increment from right to left as the voltage difference on the selected XADC pins gets larger. | + | * **Wires |
| - | * The two seven segment displays show the voltage difference on the AD11 pins in volts. | + | |
| - | * sw0 and sw1 select which channel | + | |
| - | ===== How to Build and Program ===== | + | ===Software=== |
| + | * **Vivado Design Suite 2016.4** | ||
| + | * //Newer versions can be used, but the procedure may vary slightly// | ||
| + | * **Nexys 4 Support Files** | ||
| + | * These files will describe GPIO interfaces on your board and make it easier | ||
| + | * Follow the Wiki guide: [[vivado: | ||
| - | You will need...\\ | + | ----- |
| - | 1. Vivado installed on your computer\\ | + | ===== Downloads ===== |
| - | 2. Nexys4 board from digilent\\ | + | Nexys 4 XADC Demo Project Repository -- [[https:// |
| - | 3. Wires and a voltage to measure\\ | + | |
| + | ------- | ||
| - | ==== 1. Generate | + | ===== Download and Launch |
| - | >1.1) Download | + | >Follow |
| - | >1.2) Generate the **User_Demo** project in the Projects folder by following this guide before continuing: [[vivado: | + | ===== Using the Nexys 4 XADC Demo ===== |
| - | + | ||
| - | ==== 2. Load the Vivado Project | + | |
| - | + | ||
| - | In your now unzipped project, open the file Nexys4XADC.xpr. This should open your project in Vivado. | + | |
| - | + | ||
| - | *The screenshots below are from another project but should look relatively the same and will work for our purposes. | + | |
| - | + | ||
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ==== 3. Synthesize, Implement and Generate Bitstream ==== | + | |
| - | + | ||
| - | To complete this step all that you need to do is click **Generate Bitstream** on the left hand menu towards the bottom. Vivado will run through both Run Synthesis and Run Implementation before it generates the bitstream automatically. If you want, you can click each step by itself in the order of **Run Synthesis**, | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ==== 4. Connect and Program the Nexys4 ==== | + | |
| - | + | ||
| - | Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | After your board is connected, just click program to load the GPIO demo onto your Nexys4. | + | |
| - | + | ||
| - | ===== Running the Nexys4 | + | |
| This portion will help you run the demo and observe all its features. | This portion will help you run the demo and observe all its features. | ||
| - | ==== 1. Applying a voltage | + | ==== 1. Applying a Voltage |
| - | + | ||
| - | For this demo, the AD11P and AD11N pins are used on the JXADC header. We hooked up a signal generator to our pins. All of the other pins were grounded to avoid coupling. | + | |
| - | {{: | + | >For this demo, the AD11P and AD11N pins are used on the JXADC header. We hooked up a signal generator to our pins. All of the other pins were grounded to avoid coupling. |
| + | > | ||
| + | >{{: | ||
| ==== 2. Seven Segment Display and LEDs ==== | ==== 2. Seven Segment Display and LEDs ==== | ||
| - | The 7-Segment display shows the current voltage across the selected xadc pins. The LEDs turn on from right to left as the input voltage increases. | + | >The 7-Segment display shows the current voltage across the selected xadc pins. The LEDs turn on from right to left as the input voltage increases. |
| + | > | ||
| + | > | ||
| - | {{: | ||
| + | ==== 3. Selecting a Channel ==== | ||
| - | ==== 3. Selecting | + | >To display |
| - | To display a different channel on the display and LEDs, change sw0 and sw1 to the desired channel. | + | | Channel Number |
| + | ^ AD2 | ||
| + | ^ AD3 | ||
| + | ^ AD10 | Down (0) | Up (1) | | ||
| + | ^ AD11 | Up (1) | Up (1) | | ||
| - | {{tag> | + | {{tag> |

