Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
learn:programmable-logic:tutorials:nexys-4-ddr-keyboard-demo:start [2017/04/28 20:24] – [1. Generate the Project] Andrew Holzerlearn:programmable-logic:tutorials:nexys-4-ddr-keyboard-demo:start [2017/10/24 21:54] Arthur Brown
Line 4: Line 4:
  
 ===== Overview ===== ===== Overview =====
 +
 +==== Description ====
 +
 +The Keyboard Demo project demonstrates a simple usage of the Nexys 4 DDR'
 +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 ==== ==== Features Used ====
  
 | ^ Not Used ^ Used ^ | ^ Not Used ^ Used ^
-^ 16 user switches                    X  |    +^ 16 user switches                    X  |     
-^ 16 user LEDs                        X  |    +^ 16 user LEDs                        X  |     
-^ Two tri-color LEDs                  X  |    +^ Two tri-color LEDs                  X  |     
-^ 5 User Push Buttons                |  X  |    |+^ 5 User Push Buttons                |  X  |     |
 ^ Two 4-digit 7-segment displays          X  | ^ Two 4-digit 7-segment displays          X  |
 ^ 4 Pmod ports                        X  |     | ^ 4 Pmod ports                        X  |     |
 ^ Pmod for XADC signals              |  X  |     | ^ Pmod for XADC signals              |  X  |     |
 ^ 16-bit VGA output                  |  X  |     | ^ 16-bit VGA output                  |  X  |     |
-^ USB-UART Bridge                    |  X  |    |+^ USB-UART Bridge                    |  X  |     |
 ^ 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              X  | ^ USB HID Host With Keyboard              X  |
 ^ Micro SD card connector            |  X  |     | ^ Micro SD card connector            |  X  |     |
-^ PWM audio output                    X  |    +^ PWM audio output                    X  |     
-^ PDM microphone                      X  |    |+^ PDM microphone                      X  |     |
 ^ 3-axis accelerometer                X  |     | ^ 3-axis accelerometer                X  |     |
-^ 128MiB DDR2                        |  X  |    |+^ 128MiB DDR2                        |  X  |     |
 ^ Temperature sensor                  X  |     | ^ Temperature sensor                  X  |     |
 ^ 10/100 Ethernet PHY                |  X  |     | ^ 10/100 Ethernet PHY                |  X  |     |
- 
-==== Description ==== 
- 
-The Keyboard Demo project demonstrates a simple usage of the Nexys 4 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 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. 
              
 ------- -------
Line 52: Line 53:
  
 ===== Downloads ===== ===== Downloads =====
-Nexys 4 DDR Support Repository -- [[https://github.com/Digilent/Nexys-4-DDR-Keyboard/archive/master.zip|ZIP]] [[https://github.com/Digilent/Nexys-4-DDR-Keyboard|GIT Repo]]+Nexys 4 DDR Keyboard Project Repository -- [[https://github.com/Digilent/Nexys-4-DDR-Keyboard/releases/download/v2016.4-1/Nexys-4-DDR-Keyboard-2016.4-1.zip|ZIP Archive]] [[https://github.com/Digilent/Nexys-4-DDR-Keyboard|GIT Repo]]
  
 ------- -------
-===== How to... ===== 
  
 +===== Download and Launch the Nexys 4 DDR Keyboard Demo =====
  
 +>1) Follow the [[:learn:programmable-logic:tutorials:github-demos:start|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. Return to this guide when prompted to check for extra hardware requirements and setup.
  
-==== 1. Generate the Project ====+>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 the repository linked in the download section and place it in the location of your choosing. +===== Using the Nexys 4 DDR Keyboard Demo =====
  
->1.2) Generate the **Keyboard** project by following this guide before continuing: [[vivado:github|How to Generate a Project from Digilent's Github]] 
  
-==== 2Build the Project ====+==== 1Initial 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**, **Run Implementation** and then **Generate Bitstream**. 
-> 
->{{:basys3:buildflow.png?600|}} 
- 
-==== 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. 
-> 
->{{:nexys4-ddr:deviceconnected.jpg?600|}} 
- 
->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 
-> 
 >Initially, the 7 segment display will show all 0's >Initially, the 7 segment display will show all 0's
 > >
 >{{:nexys4-ddr:img_20150310_192348.jpg?nolink&300|}} >{{:nexys4-ddr:img_20150310_192348.jpg?nolink&300|}}
  
->4.2Key Press +==== 2Key Press ==== 
->+
 >When a button is pressed, the value of the scan code will shift onto the 7 segment display. In the picture, 'a' is pressed, so a scan code of "1C" is displayed. >When a button is pressed, the value of the scan code will shift onto the 7 segment display. In the picture, 'a' is pressed, so a scan code of "1C" is displayed.
 > >
 >{{:nexys4-ddr:img_20150310_192449.jpg?nolink&500|}} >{{:nexys4-ddr:img_20150310_192449.jpg?nolink&500|}}
  
->4.3Key Release +==== 3Key Release ==== 
- +  
 >When the 'a' key is released, a scan code of "F01C" is shifted onto the 7 segment display. The initial scan code of "1C" is shifted to the left display. >When the 'a' key is released, a scan code of "F01C" is shifted onto the 7 segment display. The initial scan code of "1C" is shifted to the left display.
 > >
 >{{:nexys4-ddr:img_20150310_192501.jpg?nolink&500|}} >{{:nexys4-ddr:img_20150310_192501.jpg?nolink&500|}}
  
->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 ("15") was pressed, followed by W ("1D"). >When multiple keys are pressed their scan codes are shifted in order. In this case, Q ("15") was pressed, followed by W ("1D").
 > >
 >{{:nexys4-ddr:img_20150310_192533.jpg?nolink&500|}} >{{:nexys4-ddr:img_20150310_192533.jpg?nolink&500|}}
  
-{{tag>learn programmable-logic tutorial nexys-4-ddr}}+{{tag>learn programmable-logic project nexys-4-ddr}}