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:arty-z7-hdmi-in-demo [2017/02/27 09:18] – [1. Generate the Project] Monica Ignatlearn:programmable-logic:tutorials:arty-z7-hdmi-in-demo [2018/03/08 19:25] (current) Arthur Brown
Line 4: Line 4:
 {{:learn:programmable-logic:tutorials:arty-z7:hdmi_in.png?500|}} {{:learn:programmable-logic:tutorials:arty-z7:hdmi_in.png?500|}}
 ===== Overview ===== ===== Overview =====
 +
 +==== Description ====
 +
 +The Arty Z7 HDMI In project demonstrates the usage of the HDMI in and out ports on the Arty Z7 board. There are two projects, one for each variant of the board: Arty Z7-10 and Arty Z7-20.
 +The behavior is as follows:
 + 
 +  * Video data streams in through the HDMI in port and out through the HDMI out port.
 +  * A UART interface is available to configure what is output through HDMI.
 +  * There are 3 display frame buffers that the user can choose to display or write to.
  
 ==== Features Used ==== ==== Features Used ====
Line 23: Line 32:
 ^ USB HID Host                          X           | ^ USB HID Host                          X           |
  
 +-------
  
-==== Description ==== 
- 
-The Arty Z7 HDMI In project demonstrates the usage of the HDMI in and out ports on the Arty Z7 board. There are two projects, one for each variant of the board: Arty Z7-10 and Arty Z7-20. 
-The behavior is as follows: 
-  
-  * Video data streams in through the HDMI in port and out through the HDMI out port. 
-  * A UART interface is available to configure what is output through HDMI. 
-  * There are 3 display frame buffers that the user can choose to display or write to. 
- 
-------- 
 ===== Prerequisites ===== ===== Prerequisites =====
- 
-===Skills=== 
-  * **Basic familiarity with Vivado & SDK** 
-    *  //This experience can be found by walking through our "Getting Started with Vivado" guide// 
  
 ===Hardware=== ===Hardware===
Line 50: Line 46:
   * **Vivado Design Suite & Xilinx SDK 2016.4**    * **Vivado Design Suite & Xilinx SDK 2016.4** 
     * //Version 2016.4 must be used to generate the project//     * //Version 2016.4 must be used to generate the project//
 +  * **Digilent Board Support Files for Vivado** 
 +    * Follow the [[vivado:boardfiles|Vivado Board Files for Digilent 7-Series FPGA Boards]] guide on how to install Board Support Files for Vivado.
  
 ----- -----
 ===== Downloads ===== ===== Downloads =====
-Arty Z7 Support Repository -- [[https://github.com/Digilent/Arty-Z7/archive/master.zip|ZIP]] [[https://github.com/Digilent/Arty-Z7|Git Repo]]+Arty Z7-10 Hdmi In Project Repository -- [[https://github.com/Digilent/Arty-Z7-10-hdmi-in/releases/download/v2016.4-2/Arty-Z7-10-hdmi-in-2016.4-2.zip|ZIP]] [[https://github.com/Digilent/Arty-Z7-10-hdmi-in.git|Git Repo]] 
 + 
 +Arty Z7-20 Hdmi In Project Repository -- [[https://github.com/Digilent/Arty-Z7-20-hdmi-in/releases/download/v2016.4-4/Arty-Z7-20-hdmi-in-2016.4-4.zip|ZIP]] [[https://github.com/Digilent/Arty-Z7-20-hdmi-in.git|Git Repo]]
 ------- -------
-===== How to..===== +===== Download and Launch the Arty Z7 HDMI Input Demo =====
- +
-==== 1. Generate the Project ==== +
- +
->1.1) Download the project linked in the download section and unzip it in the location of your choosing. +
  
->1.2Generate the **hdmi_in** project in the Projects folder by following this guide before continuing: [[vivado:github|How to Generate a Project from Digilent'Github]] +>1) Follow the [[:learn:programmable-logic:tutorials:github-demos:start:|Using Digilent Github Demo Projects]] TutorialSince this is a Vivado SDK Project, you can either directly launch SDK and import the hardware handoff, or you can generate a bitstream in Vivado before launching SDK. Select the hardware handoff options in the tutorial if you don't want to modify the project block design later. Return to this guide when prompted to check for additional hardware requirements and setup.
-==== 2Build the Project ====+
  
->2.1Click **Generate Bitstream** on the left hand menu towards the bottomVivado will run through both Run Synthesis and Run Implementation before it generates the bitstream automatically+>2) Plug one end of the HDMI cable into a video monitor and the other into the Arty Z7 HDMI out portDo the same for an HDMI source, likely your computer, and the HDMI in port.
 > >
->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:arty-z7:hdmi_in_setup.jpg?500|}}
-+
->{{:basys3:buildflow.png?600|}} +
-==== 3. Export to SDK ====+
  
->3.1Export the microblaze project by going to **File>Export>Export Hardware**Click the check box to **Include the bitstream**and export it local to project. This will create .sdk folder in your project directory. Afterwardsclick **File>Launch SDK** to launch Xilinx SDK.+>3) Turn on your board and open a serial terminal (such as TeraTerm) on your computer to receive status messagesSetup the serial port to connect to the appropriate port for your boardwith baud rate of 1152008 data bits, no parity bit and 1 stop bit. Then return to the Github Project Tutorial to finish programming and running the demo.
 > >
->{{:zybo:exporthw.jpg?500|}} +>{{:learn:programmable-logic:tutorials:arty-z7:hdmi_in.png?500|}}
-==== 4. Import the SDK files ====+
  
->4.1) In your project Explorer window on the left side, click **File>Import** then expand the General tab and click **Existing Projects into Workspace**. Navigate to the Projects/hdmi_out folder, select the **sdk** folder, and click OK. In the //Import// window, click Finish to import the SDK project. 
-> 
->{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:import_hdmi_out1.png?300|}}{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:import_hdmi_out.png?300|}} 
-==== 5. Program the FPGA ==== 
  
->5.1) Click **Xilinx Tools>Program FPGA** and click **Program**. Xilinx SDK will then program the FPGA with a microblaze bit file. +===== Using the Arty Z7 HDMI Input Demo =====
-+
->{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:programfpga.png?500|}}+
  
-==== 6. Program the Microblaze Processor ====+==== HDMI Display Options ====
  
->6.1) Click on the **displaydemo** folder and click the Green **Run System Debugger on Local displaydemo.elf** button. The microblaze program will be programmed onto your Arty Z7 board. + - Change the resolution of the HDMI output to the monitor.
-+
-{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:program_ublaze.png?700|}} +
-==== 7. Run the Project ====+
  
-This portion will help you run the demo and observe all its features.+>  2 - Change the frame buffer to display on the HDMI monitor.
  
->7.1) Setup+ 3/4 - Store a test pattern in the chosen video frame buffer - color bar or blended.
 > >
->Plug one end of the HDMI cable into a video monitor and the other into the Arty Z7 HDMI out port.  +>{{:learn:programmable-logic:tutorials:arty-z7:hdmi_incolorbar.jpg?500|}}{{:learn:programmable-logic:tutorials:arty-z7:hdmi_inblend.jpg?500|}}
-+
->{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:hdmi_out_setup.jpg?500|}}+
  
->7.2) Setting up UART communications + 5 - Start/Stop streaming video data from HDMI to the chosen video frame buffer.
-+
->To see the UART communication channel, open a terminal program on your computer set to 112500 baud rate, 8 data bits, no parity bit and 1 stop bit. On startup, the Art Z7 will display the HDMI settings menu, shown below. +
-+
->{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:hdmiout.png?500|}}+
  
->7.3) HDMI display options+ 6 - Change the video frame buffer that HDMI data is streamed into. 
 + 
 +>  7 - Invert and store the current video frame into the next video frame buffer and display it.
 > >
->  1 - Changes the resolution of the HDMI output to the monitor. +>{{:learn:programmable-logic:tutorials:arty-z7:video_in.jpg?500|}}{{:learn:programmable-logic:tutorials:arty-z7:20170224_120103.jpg?500|}} 
->  2 - Changes the frame buffer index. + 
->  3/4 - Prints a test pattern in the chosen Frame buffer: blended or color bar. +>  8 - Scale the current video frame to the display resolution, store it into the next video frame buffer, and then display it. 
->  5 - Inverts current frame colors. + 
->  6 - Inverts current frame colors seamlessly. +{{tag>learn programmable-logic project arty-z7}} 
-+
->{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:hdmi_outblended.jpg?500|}}{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:hdmi_out_colorbar.jpg?500|}}+