Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| basys3:xadcdemo [2015/03/02 00:44] – Sam Lowe | basys3:xadcdemo [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Basys3 | + | ====== Basys3 |
| - | {{ :basys3_overview.png?nolink | + | {{:basys3: |
| - | ----- | + | ===== Overview ===== |
| - | ===== Features Used ===== | + | ==== Features Used ==== |
| - | | ^ Not Used | + | | ^ Not Used ^ Used ^ |
| - | ^ 16 User Switches | + | ^ 16 User Switches |
| - | ^ 16 User LEDs | | X | | + | ^ 16 User LEDs |
| - | ^ 5 User Push Buttons | + | ^ 5 User Push Buttons |
| - | ^ 4-digit 7-Segment Display | + | ^ 4-digit 7-Segment Display |
| - | ^ 4 Pmod Connectors | + | ^ 4 Pmod Connectors |
| - | ^ XADC Analog Input | + | ^ XADC Analog Input | X | |
| - | ^ 12-bit VGA Output | + | ^ 12-bit VGA Output |
| - | ^ USB-UART Bridge | + | ^ USB-UART Bridge |
| - | ^ Serial Flash for Application Data | + | ^ Serial Flash for Application Data | X | |
| - | ^ USB HID Host With Mouse | | + | ^ USB HID Host With Mouse | X |
| - | ^ USB HID Host With Keyboard | + | ^ USB HID Host With Keyboard |
| - | ===== Description ===== | ||
| - | The Nexys4 user demo that is loaded in the QSPI flash at the factory, built using ISE 14.7. This complex design uses nearly every peripheral device on the Nexys4. | + | ==== Description |
| - | ===== How to Build and Program ===== | + | |
| - | You will need...\\ | + | This simple XADC Demo project demonstrates a simple usage of the Basys3' |
| + | 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 AD6, AD7, AD14, AD15 pins in volts. | ||
| + | * sw0 and sw1 select which channel to read from | ||
| - | 1. Vivado installed on your computer\\ | ||
| - | 2. Basys3 board from digilent\\ | ||
| - | 3. Monitor with a VGA port\\ | ||
| - | 4. VGA cable\\ | ||
| - | 5. USB mouse\\ | ||
| + | ==== A Note About The XADC Port ==== | ||
| - | ==== 1. Download | + | On the Basys3, the XADC Pmod connector houses 4 differential analog pairs. The corresponding XADC channels are 6, 7, 14, and 15. Below is a picture of the pinout of the Pmod Header. |
| - | Download the project zip file which can be found on the [[http:// | + | {{:basys3: |
| - | ==== 2. Load the Vivado Project ==== | + | The differential pairs are grouped by columns. Looking at the number above, 1 corresponds to XA1_P and XA1_N, column |
| - | In your now unzipped project, open the file basys3_basic_demo.xpr. This should open your project in Vivado. | + | {{: |
| - | {{: | + | From the schematic we can see XA1 is connected to XADC channel 6, XA2 is connected to XADC channel 14, XA3 is connected to XADC channel 7, and XA4 is connected to XADC channel 15. |
| - | ==== 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**, | + | ===== Prerequisites ===== |
| - | {{: | + | ===Skills=== |
| + | * **Basic familiarity with Vivado** | ||
| + | * //This experience can be found by walking through our " | ||
| - | ==== 4. Connect and Program the Basys3 ==== | + | ===Hardware=== |
| + | * **Basys3 FPGA board** | ||
| + | * **Micro-USB cable** | ||
| + | * **Wires and a voltage to measure** | ||
| - | Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. | + | ===Software=== |
| + | * **Vivado Design Suite 2015.X** | ||
| + | * // | ||
| - | {{: | + | ----- |
| - | After your board is connected, just click program to load the GPIO demo onto your Basys3. | + | ===== Downloads ===== |
| - | ===== Running the Basys3 | + | Basys 3 Support Repository -- [[https:// |
| - | To run all the features of this demo, you will need the Basys3 board, a monitor with a VGA cable and a USB mouse. | + | ------ |
| + | ===== How to... ===== | ||
| - | ==== 1. Using the Switches with Leds ==== | + | ==== 1. Generate |
| - | For this section, all the switches are tied to their corresponding led. Every time a switch is toggled, | + | >1.1) Download |
| - | {{: | + | >1.2) Generate the **XADC** project in the Projects folder by following this guide before continuing: [[vivado:github|How to Generate a Project from Digilent' |
| - | ==== 2. Using the buttons with The Seven Segment Display | + | ==== 2. Build the Project |
| - | The seven segment display is counting all digits from 0 to 9 when no buttons are pressed. If BTNU is pressed, the first digit on the seven segment display is blacked out. BTNL blacks out the second digit, BTNR blacks out the third, and BTND eliminates the fourth. BTNC blacks out all the digits. | + | >2.1) Click **Generate Bitstream** |
| + | > | ||
| + | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, **Run Implementation** | ||
| + | > | ||
| + | > | ||
| + | ==== 3. Program the Board ==== | ||
| - | {{: | + | >3.1) Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. |
| + | > | ||
| + | >{{:basys3:device_connected.png?600|}} | ||
| - | ==== 3. Plugging in a monitor | + | >3.2) Click program |
| - | To use the VGA output demo, plug in your monitor to the Basys3 VGA port. The monitor screen will have series of moving patterns as seen below. | + | ==== 4. Run the Project ==== |
| - | {{: | + | This portion will help you run the demo and observe all its features. |
| + | >4.1) Applying a voltage to the XADC port | ||
| + | > | ||
| + | >For this demo, the AD6, 7, 14 and 15 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. | ||
| + | > | ||
| + | > | ||
| - | ==== 4. Plugging in and using a USB mouse ==== | ||
| - | To see the USB mouse portion of the demo, plug a USB mouse into J2 on the Basys3 with the monitor still connected. On the screen, you should be able to see your mouse pointer and move it around. | + | >4.2) Seven Segment Display and LEDs |
| + | > | ||
| + | >The 7-Segment display shows the current voltage across | ||
| + | > | ||
| + | > | ||
| - | ==== 5. UART Communication ==== | + | >4.3) Selecting a channel |
| - | + | > | |
| - | To see the UART communication | + | >To display a different |
| - | + | ||
| - | | + | |
| | | ||
| - | |||

