Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
learn:programmable-logic:tutorials:arty-z7-hdmi-demo:start [2017/02/21 08:35] – [1. Generate the Project] Monica Ignat | learn:programmable-logic:tutorials:arty-z7-hdmi-demo:start [2017/07/20 20:35] (current) – [Downloads] Arthur Brown | ||
---|---|---|---|
Line 2: | Line 2: | ||
{{: | {{: | ||
+ | |||
===== Overview ===== | ===== Overview ===== | ||
+ | |||
+ | ==== Description ==== | ||
+ | |||
+ | The Arty Z7 HDMI Out project demonstrates the usage of the HDMI out port 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: | ||
+ | |||
+ | * Frames stream out through the HDMI 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. | ||
+ | |||
+ | ------- | ||
+ | |||
==== Features Used ==== | ==== Features Used ==== | ||
Line 18: | Line 31: | ||
^ Quad-SPI Flash | ^ Quad-SPI Flash | ||
^ Two Pmod ports | ^ Two Pmod ports | ||
- | ^ chipKIT connector for XADC signals | | + | ^ chipKIT connector for XADC signals | X | | |
^ USB HID Host | ^ USB HID Host | ||
- | |||
- | |||
- | ==== Description ==== | ||
- | |||
- | The Arty Z7 HDMI project demonstrates the usage of the HDMI port 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: | ||
- | |||
- | * Frames stream out through the HDMI 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. | ||
- | |||
- | ------- | ||
===== Prerequisites ===== | ===== Prerequisites ===== | ||
- | |||
- | ===Skills=== | ||
- | * **Basic familiarity with Vivado & SDK** | ||
- | * //This experience can be found by walking through our " | ||
===Hardware=== | ===Hardware=== | ||
Line 48: | Line 45: | ||
* **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: | ||
----- | ----- | ||
+ | |||
===== Downloads ===== | ===== Downloads ===== | ||
- | Arty Z7 Support | + | Arty Z7-10 Hdmi Out Project |
+ | |||
+ | Arty Z7-20 Hdmi Out Project Repository -- [[https:// | ||
------- | ------- | ||
- | ===== How to... ===== | + | ===== Download and Launch the Arty Z7 HDMI Demo ===== |
- | ==== 1. Generate | + | >1) Follow |
- | >1.1) Download the project linked in the download section and unzip it in the location | + | >2) Plug one end of the HDMI cable into a video monitor and the other into the Arty Z7 HDMI out port. |
- | + | ||
- | >1.2) Generate | + | |
- | + | ||
- | ==== 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 | + | |
> | > | ||
- | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | + | >{{:learn: |
- | > | + | |
- | >{{:basys3:buildflow.png?600|}} | + | |
- | ==== 3. Export to SDK ==== | + | > |
- | + | ||
- | >3.1) Export the microblaze project by going to **File> | + | |
> | > | ||
- | >{{:zybo:exporthw.jpg?500|}} | + | >{{:learn:programmable-logic: |
- | ==== 4. Import | + | ===== Using the Arty Z7 HDMI Demo ===== |
- | >4.1) In your project Explorer window on the left side, click **File> | + | ==== HDMI Display Options ==== |
- | > | + | |
- | > | + | |
- | ==== 5. Program | + | > 1 - Changes the resolution of the HDMI output to the monitor. |
- | + | > 2 - Changes | |
- | >5.1) Click **Xilinx Tools>Program FPGA** and click **Program**. Xilinx SDK will then program the FPGA with a microblaze bit file. | + | > 3/4 - Prints a test pattern in the chosen frame buffer: blended or color bar. |
+ | > 5 - Inverts current frame colors. | ||
+ | > 6 - Inverts current frame colors seamlessly. | ||
> | > | ||
- | >{{:zybo:program.jpg? | + | >{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:arty-z7-hdmi-blend.jpg?400|}} {{:learn:programmable-logic: |
- | + | ||
- | ==== 6. Program the Microblaze Processor ==== | + | |
- | + | ||
- | >6.1) Click on the **videodemo** folder and click the Green **Run System Debugger on Local videodemo.elf** button. The microblaze program will be programmed onto your Zybo board. | + | |
- | > | + | |
- | {{:zybo:program2.jpg? | + | |
- | + | ||
- | ==== 7. Run the Project ==== | + | |
- | + | ||
- | This portion will help you run the demo and observe all its features. | + | |
- | + | ||
- | >7.1) Setup | + | |
- | > | + | |
- | >Plug one end of the HDMI cable into a video source and the other into the ZYBO HDMI port. Plug one end of your VGA cable into the VGA port of the ZYBO and the other into your VGA monitor. | + | |
- | > | + | |
- | >{{:zybo: | + | |
- | + | ||
- | >7.2) Setting up UART communications | + | |
- | > | + | |
- | >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 ZYBO will display the HDMI settings menu, shown below. | + | |
- | > | + | |
- | >{{:zybo:uart.jpg? | + | |
- | + | ||
- | >7.3) HDMI display options | + | |
- | > | + | |
- | > 1 - Changes the resolution of the VGA output to the monitor. | + | |
- | > 2 - Changes the frame buffer to display on the VGA monitor. | + | |
- | > 3/4 - Stores a test pattern in the chosen Video Frame buffer. | + | |
- | > 5 - Starts/ | + | |
- | > 6 - Changes the video buffer that HDMI data is streamed into. | + | |
- | > 7 - Inverts and stores the current video frame into the next video frame buffer and displays it. | + | |
- | > 8 - Scales the current video frame to the display resolution and stores it into the next video frame buffer, then displays it. | + | |
- | > | + | |
- | > | + | |
+ | {{tag> |