Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| learn:programmable-logic:tutorials:nexys-4-ddr-keyboard-demo:start [2016/07/08 21:27] – created Sam K | learn:programmable-logic:tutorials:nexys-4-ddr-keyboard-demo:start [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| {{: | {{: | ||
| ===== Overview ===== | ===== Overview ===== | ||
| - | ===== Features Used ===== | + | |
| + | ==== Description ==== | ||
| + | |||
| + | The Keyboard Demo project demonstrates a simple usage of the Nexys 4 DDR's | ||
| + | USB-HID port and 7 segment display. The behavior is as follows: | ||
| + | |||
| + | * The user presses a key on the keyboard, which sends a keyboard scan code to the Nexys 4 DDR. This scan code is read and output onto the 7 segment display. When a new scan code is read, it is shifted onto the 7 segment display from the right. A scan code of F0xx indicates that key xx has been released. | ||
| + | |||
| + | ==== Features Used ==== | ||
| | ^ Not Used ^ Used ^ | | ^ Not Used ^ Used ^ | ||
| - | ^ 16 user switches | + | ^ 16 user switches |
| - | ^ 16 user LEDs | + | ^ 16 user LEDs |
| - | ^ Two tri-color LEDs | + | ^ Two tri-color LEDs |
| - | ^ 5 User Push Buttons | + | ^ 5 User Push Buttons |
| ^ Two 4-digit 7-segment displays | ^ Two 4-digit 7-segment displays | ||
| ^ 4 Pmod ports | ^ 4 Pmod ports | ||
| ^ Pmod for XADC signals | ^ Pmod for XADC signals | ||
| ^ 16-bit VGA output | ^ 16-bit VGA output | ||
| - | ^ USB-UART Bridge | + | ^ USB-UART Bridge |
| ^ Serial Flash for Application Data | X | | | ^ Serial Flash for Application Data | X | | | ||
| ^ USB HID Host With Mouse | X | | | ^ USB HID Host With Mouse | X | | | ||
| ^ USB HID Host With Keyboard | ^ USB HID Host With Keyboard | ||
| ^ Micro SD card connector | ^ Micro SD card connector | ||
| - | ^ PWM audio output | + | ^ PWM audio output |
| - | ^ PDM microphone | + | ^ PDM microphone |
| ^ 3-axis accelerometer | ^ 3-axis accelerometer | ||
| - | ^ 128MiB DDR2 | X | | | + | ^ 128MiB DDR2 | X | |
| ^ Temperature sensor | ^ Temperature sensor | ||
| ^ 10/100 Ethernet PHY | X | | | ^ 10/100 Ethernet PHY | X | | | ||
| - | |||
| - | ===== Description ===== | ||
| - | |||
| - | The Keyboard Demo project demonstrates a simple usage of the Nexys4-DDR' | ||
| - | USB-HID port and 7 segment display. The behavior is as follows: | ||
| - | |||
| - | * The user presses a key on the keyboard, this sends a keyboard scan code to the Nexys4DDR. This scan code is read and output onto the 7 segment display. When a new scan code is read, it is shifted onto the 7 segment display from the right. A scan code of F0xx indicates that key xx has been released. | ||
| | | ||
| ------- | ------- | ||
| ===== Prerequisites ===== | ===== Prerequisites ===== | ||
| - | |||
| - | ===Skills=== | ||
| - | * **Basic familiarity with Vivado** | ||
| - | * //This experience can be found by walking through our " | ||
| ===Hardware=== | ===Hardware=== | ||
| - | * **Basys3 | + | * **Nexys 4 DDR FPGA board** |
| * **Micro-USB cable** | * **Micro-USB cable** | ||
| * **USB Keyboard** | * **USB Keyboard** | ||
| ===Software=== | ===Software=== | ||
| - | * **Vivado Design Suite 2015.X** | + | * **Vivado Design Suite 2016.4** |
| - | * //Newer/ | + | * //Newer versions can be used, but the procedure may vary slightly// |
| + | * **Nexys 4 DDR Support Files** | ||
| + | * These files will describe GPIO interfaces on your board and make it easier to select your FPGA board and add GPIO IP blocks. | ||
| + | * Follow the Wiki guide: [[vivado: | ||
| ----- | ----- | ||
| ===== Downloads ===== | ===== Downloads ===== | ||
| - | Nexys4-DDR Support | + | Nexys 4 DDR Keyboard Project |
| ------- | ------- | ||
| - | ===== How to... ===== | ||
| + | ===== Download and Launch the Nexys 4 DDR Keyboard Demo ===== | ||
| + | >1) Follow the [[: | ||
| - | ==== 1. Generate | + | >2) Plug your USB Keyboard into the USB HOST port on your Nexys 4 DDR, then return to the Github Projects Tutorial to finish programming and running the demo. |
| - | >1.1) Download | + | ===== Using the Nexys 4 DDR Keyboard Demo ===== |
| - | >1.2) Generate the **Keyboard** project within the " | ||
| - | ==== 2. Build the Project | + | ==== 1. Initial State ==== |
| - | >2.1) 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. | ||
| - | > | ||
| - | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | ||
| - | > | ||
| - | > | ||
| - | |||
| - | ==== 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. | ||
| - | > | ||
| - | > | ||
| - | |||
| - | >3.2) Click program to load the project onto your Nexys4-DDR. | ||
| - | |||
| - | ==== 4. Run the Project ==== | ||
| - | |||
| - | This portion will help you run the demo and observe all its features. | ||
| - | |||
| - | >4.1) Initial state | ||
| - | > | ||
| > | > | ||
| > | > | ||
| > | > | ||
| - | >4.2) Key Press | + | ==== 2. Key Press ==== |
| - | > | + | |
| >When a button is pressed, the value of the scan code will shift onto the 7 segment display. In the picture, ' | >When a button is pressed, the value of the scan code will shift onto the 7 segment display. In the picture, ' | ||
| > | > | ||
| > | > | ||
| - | >4.3) Key Release | + | ==== 3. Key Release |
| - | > | + | |
| >When the ' | >When the ' | ||
| > | > | ||
| > | > | ||
| - | >4.4) Multi key press | + | ==== 4. Multiple Key Presses ==== |
| - | > | + | |
| >When multiple keys are pressed their scan codes are shifted in order. In this case, Q (" | >When multiple keys are pressed their scan codes are shifted in order. In this case, Q (" | ||
| > | > | ||
| > | > | ||
| - | {{tag> | + | {{tag> |

