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
learn:programmable-logic:tutorials:nexys-video-basic-user-demo:start [2017/03/08 19:06] – Andrew Holzerlearn:programmable-logic:tutorials:nexys-video-basic-user-demo:start [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 5: Line 5:
  
 ===== Overview ===== ===== Overview =====
 +
 +==== Description ====
 +
 +The Basic User Demo project demonstrates a simple uses of the Nexys Video's 
 +GPIOs, UART serial port, and OLED display. The behavior is as follows:
 + 
 +  * The 8 User LEDs are tied to the 8 User Switches.
 +  * An introduction message is sent across the UART when the device is finished being configured.
 +  * BTNC resets the LED and UART modules.
 +  * A message is sent over UART whenever BTNU, BTNL, BTND, or BTNR is pressed.
 +  * The onboard OLED display shows the alphabet followed by the message "This is Digilent's Nexys Video".
 +  * The onboard OLED display is turned off by pressing the CPU_RESET button.
 +
 ==== Features Used ==== ==== Features Used ====
  
Line 25: Line 38:
 ^ Pmod for XADC signals            |    X      |       | ^ Pmod for XADC signals            |    X      |       |
 ^ USB HID Host                     |    X      |       | ^ USB HID Host                     |    X      |       |
- 
- 
- 
-==== Description ==== 
- 
-The Basic User Demo project demonstrates a simple usage of the Nexys Video's  
-GPIO and UART. The behavior is as follows: 
-  
-  * The 8 User LEDs are tied to the 8 User Switches. While the centerUser button is pressed, the LEDs are instead tied to GND 
-  * An introduction message is sent across the UART when the device is finished being configured, and after the center User button is pressed. 
-  * A message is sent over UART whenever BTNU, BTNL, BTND, or BTNR is pressed. 
-  * The onboard OLED displays the alphabet then a screen saying "This is Digilent's Nexys Video" 
-       
-All UART communication can be captured by attaching the UART port to a 
-computer running a Terminal program with 9600 Baud Rate, 8 data bits, no  
-parity, and 1 stop bit. 
  
 ------- -------
Line 52: Line 49:
 ===Hardware=== ===Hardware===
   * **Nexys Video FPGA board**   * **Nexys Video FPGA board**
-  * **Micro-USB cable** +  * **Two Micro-USB cables** 
-  * **Nexys Video Power Supply**+  * **Nexys Video 12 Volt Power Supply**
  
 ===Software=== ===Software===
-  * **Vivado Design Suite 2015.X** +  * **Vivado Design Suite 2016.4** 
     * //Newer/older versions can be used, but the procedure may vary slightly//     * //Newer/older versions can be used, but the procedure may vary slightly//
  
 ----- -----
 ===== Downloads ===== ===== Downloads =====
-Nexys Video Support Repository -- [[https://github.com/Digilent/NexysVideo/archive/master.zip|ZIP]] [[https://github.com/Digilent/NexysVideo|GIT Repo]]+Nexys Video GPIO Demo Project Repository -- [[https://github.com/Digilent/Nexys-Video-GPIO/releases/download/v2016.4-1/Nexys-Video-GPIO-2016.4-1.zip|ZIP]] [[https://github.com/Digilent/Nexys-Video-GPIO|GIT Repo]]
  
  
 ------- -------
-===== How to... =====+===== Download and Launch the Nexys Video Basic User 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.
  
- +>2) In order to fully use the demo, you will need to connect a serial terminal to your Nexys Video. Plug your board into your computer with Micro USB cables attached to the PROG and UART ports and make sure the board is turned on. Then open a serial terminal (such as TeraTerm) on your computer. In the terminal application, setup the serial port to connect to the appropriate port for your board, with a baud rate of 9600. Then return to the Github Projects Tutorial to finish programming and running the demo.
-==== 1. Generate the Project ==== +
- +
->1.1) Download the repository linked in the download section and unzip it in the location of your choosing.  +
- +
->1.2) Generate the **GPIO** project in the Projects folder by following this guide before continuing: [[vivado:github|How to Generate a Project from Digilent's Github]] +
- +
-==== 2. Build the Project ==== +
- +
->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**. +>{{:learn:programmable-logic:tutorials:cmod-a7-user-demo:tera-setup.png?300|}} {{:learn:programmable-logic:tutorials:cmod-a7-user-demo:setup.png?300|}}
-> +
->{{:basys3:buildflow.png?600|}}+
  
-==== 3. Program the Board ====+=====Using the Nexys Video Basic User Demo=====
  
->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. +====1. Using the Switches with LEDs====
-> +
->{{:nexys4-ddr:deviceconnected.jpg?600|}}+
  
->3.2) Click program to load the project onto your Nexys Video. 
- 
-==== 4. Run the Project ==== 
- 
-This portion will help you run the demo and observe all its features. 
- 
->4.1) Using the Switches with Leds 
-> 
 >For this section, all the switches are tied to their corresponding led. Every time a switch is toggled, the led directly above it will toggle with it. >For this section, all the switches are tied to their corresponding led. Every time a switch is toggled, the led directly above it will toggle with it.
 > >
 >{{:nexys-video:nexysvideogpioled1.jpg?300|}}  {{:nexys-video:nexysvideogpioled2.jpg?300|}}   {{:nexys-video:nexysvideogpioled3.jpg?300|}} >{{:nexys-video:nexysvideogpioled1.jpg?300|}}  {{:nexys-video:nexysvideogpioled2.jpg?300|}}   {{:nexys-video:nexysvideogpioled3.jpg?300|}}
  
->4.2) UART Communication Using the Buttons +====2. UART Communication Using the Buttons====
-> +
->To see the UART communication channel, open a terminal program on your computer set to 9600 baud, 8 data bits, no parity bit and 1 stop bit. On startup, the Nexys Video will transmit "Nexys Video GPIO/UART DEMO!". Whenever a button is pressed, the Nexys Video transmits "Button press detected!". +
  
->4.3) OLED Display +>On startup, the Nexys Video will transmit "Nexys Video GPIO/UART DEMO!". Whenever one of BTNU, BTNL, BTND, or BTNR is pressed, the Nexys Video transmits "Button press detected!". 
-> + 
->On startup the onboard OLED will display the full alphabet and numbers 0-9. Then after about a second, the OLED will turn off for another second. After this, the OLED will display the message "This is Digilent's Nexys Video". It may be required to cycle power on the board prior to programming for the OLED to initialize correctly.+====3. OLED Display==== 
 + 
 +>On startup the onboard OLED will display the full alphabet and numbers 0-9. Then after about a second, the OLED will turn off for another second. After this, the OLED will display the message "This is Digilent's Nexys Video".
 > >
 >{{:nexys-video:nexysvideogpiooled1.jpg?300|}} {{:nexys-video:nexysvideogpiooled2.jpg?300|}} >{{:nexys-video:nexysvideogpiooled1.jpg?300|}} {{:nexys-video:nexysvideogpiooled2.jpg?300|}}
  
-{{tag>learn programmable-logic tutorial nexys-video}}+<WRAP round important 660px> 
 +===Important=== 
 +Before turning off or reprogramming your board, shut down the OLED display by pressing the **CPU_RESET** button. 
 +</WRAP> 
 + 
 +{{tag>learn programmable-logic project nexys-video}}