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
programmable-logic:nexys-video:demos:keyboard [2022/08/25 12:55] – [Table] andreisoptereanprogrammable-logic:nexys-video:demos:keyboard [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Nexys Video Keyboard Demo ======
  
 +<WRAP todo important>
 +== Under Construction ==
 +</WRAP>
 +
 +{{:nexys4-ddr:n4k.png?nolink&600|}}
 +----
 +===== Description =====
 +
 +The Keyboard Demo project demonstrates a simple usage of the Nexys Video's 
 +USB-HID and USB-UART ports. The behavior is as follows:
 + 
 +  * The user presses a key on the keyboard, this sends a keyboard scan code to the Nexys Video. This scan code is read and transmitted to a terminal application via the USB-UART bridge. A scan code pair of F0xx indicates that key xx has been released.
 +      
 +
 +----
 +===== Inventory =====
 +
 +  * Nexys Video 
 +  * Two MicroUSB Cables
 +  * Vivado installation compatible with the latest release of this demo (2020.1)
 +    * //See [[programmable-logic:guides:installing-vivado-and-vitis|Installing Vivado, Vitis, and Digilent Board Files]] for installation instructions.//
 +  * Nexys Video 12 Volt Power Supply
 +  * USB Keyboard
 +
 +----
 +===== Download and Usage Instructions =====
 +
 +First and foremost, releases - consisting of a set of files for download - are only compatible with a specific version of the Xilinx tools, as specified in the name of the release (referred to as a //release tag//). In addition, releases are only compatible with the specified variant of the board. For example, a release tagged "20/DMA/2020.1" for the Zybo Z7 is only to be used with the -20 variant of the board and Vivado 2020.1.
 +
 +The latest release version for this demo is highlighted in green.
 +
 +**Note:** //Releases for FPGA demos from before 2020.1 used a different git structure, and used a different release tag naming scheme.//
 +
 +^ Board Variant  ^ Release Tag  ^ Release Downloads  ^ Setup Instructions  |
 +| Nexys Video  | @#C0EEBD: Keyboard/2020.1-1  | [[https://github.com/Digilent/Nexys-Video/releases/tag/Keyboard/2020.1-1|Release ZIP Downloads]]  | See //Using the Latest Release//, below  |
 +| Nexys Video  | v2018.2-1 | [[https://github.com/Digilent/Nexys-Video-Keyboard/releases/tag/v2018.2-1|Release ZIP downloads]] | [[https://github.com/Digilent/Nexys-Video-Keyboard/tree/v2018.2-1| v2018.2-1 Github README]] |
 +| Nexys Video  | v2016.4-1 | [[https://github.com/Digilent/Nexys-Video-Keyboard/releases/tag/v2016.4-1|Release ZIP downloads]] | [[learn/programmable-logic/tutorials/github-demos/start|Using Digilent Github Demo Projects (Legacy)]]   |
 +
 +
 +**Note for Advanced Users:** //All demos for the Nexys Video are provided through the [[https://github.com/Digilent/Nexys-Video | Nexys Video]] repository on Github. Further documentation on the structure of this repository can be found on this wiki's [[programmable-logic:documents:git]] page.//
 +----
 +Instructions on the use of the latest release can be found in this dropdown:
 +
 +--> Using the Latest Release #
 +
 +<WRAP group>
 +
 +{{page>programmable-logic:guides:using-github-releases#hardware_only_release_before_programming&noheader}}
 +
 +--> Set up the Nexys Video #
 +
 +Plug the 12V Power Supply into the Nexys Video.
 +
 +Plug the MicroUSBs into the UART and PROG ports.
 +
 +Plug the USB Keyboard into the Nexys Video.
 +----
 +<--
 +
 +{{page>programmable-logic:guides:using-github-releases#hardware_only_release_programming&noheader}}
 +
 +At this point, the demo is now running on your board. Refer to the [[#description|Description]] and [[#functionality|Functionality]] sections of this document for more information on what it does.
 +</WRAP>
 +
 +<--
 +----
 +
 +=====Funtionality=====
 +
 +====1. Key Press====
 +>
 +>When a button is pressed, the value of the scan code will be converted to ASCII and transmitted to the terminal. In the picture, 'a' is pressed, so a scan code of "1C" is sent to the terminal.
 +>
 +>{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_keypress.jpg?nolink&500|}}
 +
 +====2. Key Release====
 +>  
 +>When the 'a' key is released, a scan code of "F0 1C" is sent.
 +>
 +>{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_keyrelease.jpg?nolink&500|}}
 +
 +====3. Multiple Key Presses====
 +>  
 +>When multiple keys are pressed their scan codes are sent in order. In this case, Q ("15") was pressed, followed by W ("1D").
 +>
 +>{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_twokey.jpg?nolink&500|}}
 +
 +===== Additional Resources =====
 +
 +All materials related to the use of the Nexys Video can be found on its [[..:start|Resource Center]].
 +
 +For a walkthrough of the process of creating a simple HDL project in Vivado, see [[programmable-logic:guides:getting-started-with-vivado]]. Information on important parts of the GUI, and indirect discussion of the steps required to modify, rebuild, and run this demo in hardware can also be found here.
 +
 +For technical support, please visit the [[https://forum.digilentinc.com/forum/4-fpga/|FPGA]] section of the Digilent Forum.
 +
 +<code>{{tag>project nexys-video}}</code>