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-oled-acl:start [2017/05/23 12:58] – [Downloads] Cristian Fatulearn:programmable-logic:tutorials:arty-oled-acl:start [2017/10/23 21:19] (current) Arthur Brown
Line 1: Line 1:
 ====== Arty OLED ACL Demo ====== ====== Arty OLED ACL Demo ======
 +{{:learn:programmable-logic:tutorials:arty-oled-acl:arty_oled_acl_overall.png?400|}}
  
 +<WRAP round important 660px>
 +=== Important! ===
 +FIXME: Download links are broken.
 +</WRAP>
  
 ===== Overview ===== ===== Overview =====
-This project demonstrates the use of the Arty board with expansion modules: Basyc IO Shield and PmodACL. It is a simple Microblaze application. +This project demonstrates the use of the Arty board with expansion modules: Basic IO Shield and PmodACL. It is a simple Microblaze application. 
 ==== Features Used ==== ==== Features Used ====
  
Line 17: Line 22:
 ^ Pmod Connector (JB)                        |          |     | ^ Pmod Connector (JB)                        |          |     |
 ^ Arduino/chipKIT Shield connector                    |     | ^ Arduino/chipKIT Shield connector                    |     |
-^ 4 user switches (Basyc IO Sheild)          |    X           | +^ 4 user switches (Basic IO Shield)          |    X           | 
-^ 8 user LEDs (Basyc IO Sheild)              |    X           | +^ 8 user LEDs (Basic IO Sheild)              |    X           | 
-^ 4 user push buttons (Basyc IO Sheild)      |    X           | +^ 4 user push buttons (Basic IO Shield)      |    X           | 
-^ Analog potentiometer (Basyc IO Sheild)        X           | +^ Analog potentiometer (Basic IO Shield)        X           | 
-^ Screw terminal connectors (Basyc IO Sheild)|    X           | +^ Screw terminal connectors (Basic IO Shield)|    X           | 
-^ OLED display (Basyc IO Sheild)                      |     |+^ OLED display (Basic IO Shield)                      |     |
  
  
 ==== Description ==== ==== Description ====
  
-This project demonstrates the use of the Arty board with expansion modules: Basyc IO Shield and PmodACL. The project is implemented as a simple Microblaze application. +This project demonstrates the use of the Arty board with expansion modules: Basic IO Shield and PmodACL. The project is implemented as a simple Microblaze application. 
  
 The behavior is as follows: The behavior is as follows:
Line 53: Line 58:
  
 ----- -----
 +
 +===== Project setup =====
 +The picture from the top of this document shows the overall setup of this project.
 +
 +1. Connect the PmodACL in the JB Pmod connector of Arty.
 +
 +2. Connect the Basic IO Shield in the Arduino/chipKIT Shield connector of Arty.
 +
 +3. Connect the USB cable in the PC and in the micro-USB connector J10 of Arty.
 +
 +
 ===== Downloads ===== ===== Downloads =====
 Arty Oled ACL Project Repository -- [[https://github.com/Digilent/Arty-Oled-ACL/releases/download/v2016.4-1/Arty-Oled-ACL-2016.4-1.zip|ZIP]] [[https://github.com/Digilent/Arty-Oled-ACL.git|Git Repo]] Arty Oled ACL Project Repository -- [[https://github.com/Digilent/Arty-Oled-ACL/releases/download/v2016.4-1/Arty-Oled-ACL-2016.4-1.zip|ZIP]] [[https://github.com/Digilent/Arty-Oled-ACL.git|Git Repo]]
Line 67: Line 83:
 > >
 >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, **Run Implementation** and then **Generate Bitstream**. >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-oled-acl:arty_buildflow.png?600|}} 
->{{:basys3:buildflow.png?600|}}+
 ==== 3. Export to SDK ==== ==== 3. Export to SDK ====
  
->3.1) Export 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 a .sdk folder in your project directory. Afterwards, click **File>Launch SDK** to launch Xilinx SDK. +>3.1) Export the Microblaze project by going to **File>Export>Export Hardware**.  
-+>{{:learn:programmable-logic:tutorials:arty-oled-acl:arty_exportsdk.png?600|}} 
->{{:zybo:exporthw.jpg?500|}}+>Click the check box to Include the bitstream, and Select <Local to Project> for "Export to" location. 
 +>{{:learn:programmable-logic:tutorials:arty-oled-acl:arty_exportsdkdlg.png?200|}} 
 +>This will export the needed files into the sdk folder in your project directory.  
 + 
 +>3.2) Launch SDK.  
 +>Click **File>Launch SDK** to launch Xilinx SDK. Select <Local to Projectfor "Exported location" and "Workspace". 
 +>{{:learn:programmable-logic:tutorials:arty-oled-acl:arty_launchsdkdlg.png?200|}} 
 + 
 ==== 4. Import the SDK files ==== ==== 4. Import the SDK files ====
  
->4.1) In your project Explorer window on the left sideclick **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.+>4.1) In Xilinx SDKselect **File>Import** menu option, then expand the General node and click **Existing Projects into Workspace**. Select the **sdk** folder from within the project folder, and click OK. In the //Import// window be sure to have the Oled_Acl and Oled_Acl_bsp projects selected, 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:import_hdmi_in.png?300|}}+>{{:learn:programmable-logic:tutorials:arty-z7-hdmi-demo:import_hdmi_out1.png?300|}}{{:learn:programmable-logic:tutorials:arty-oled-acl:arty_sdkimport.png?300|}} 
 + 
 +After this you should be able to see the Oled_Acl project in the Project explorer panel.
 ==== 5. Program the FPGA ==== ==== 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. >5.1) Click **Xilinx Tools>Program FPGA** and click **Program**. Xilinx SDK will then program the FPGA with a microblaze bit file.
 > >
->{{:learn:programmable-logic:tutorials:programfpgahdmi_in.png?500|}} +>{{:learn:programmable-logic:tutorials:arty-oled-acl:arty_sdkprogramfpga.png?600| 
 +}}
 ==== 6. Program the Microblaze Processor ==== ==== 6. Program the Microblaze Processor ====
  
->6.1) Click on the **hdmi_in** folder and click the Green **Run System Debugger on Local videodemo.elf** button. The microblaze program will be programmed onto your Arty Z7 board. +>6.1) Click on the **Oled_Acl** project and click the Green arrow button **Run As / Launch on Hardware (System Debugger)**. The microblaze program will be programmed onto your Arty board. 
-> +>{{:learn:programmable-logic:tutorials:arty-oled-acl:arty_sdkprogrammicroblaze.png?600|}}
-{{:learn:programmable-logic:tutorials:program_hdmi_in.png?600|}} +
-==== 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 other HDMI cable into the HDMI Out port of the Arty Z7 and the other into your HDMI monitor. 
-> 
->{{:learn:programmable-logic:tutorials:arty-z7:hdmi_in_setup.jpg?500|}} 
- 
->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 Arty Z7 will display the HDMI settings menu, shown below. 
-> 
->{{:learn:programmable-logic:tutorials:arty-z7:hdmi_in.png?500|}} 
- 
->7.3) HDMI display options 
-> 
->  1 - Changes the resolution of the HDMI output to the monitor. 
->  2 - Changes the frame buffer to display on the HDMI monitor. 
->  3/4 - Stores a test pattern in the chosen Video Frame buffer - color bar or blended. 
->{{:learn:programmable-logic:tutorials:arty-z7:hdmi_incolorbar.jpg?500|}}{{:learn:programmable-logic:tutorials:arty-z7:hdmi_inblend.jpg?500|}} 
->  5 - Starts/Stops streaming video data from HDMI to the chosen video frame buffer. 
->  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. 
->{{:learn:programmable-logic:tutorials:arty-z7:video_in.jpg?500|}}{{:learn:programmable-logic:tutorials:arty-z7:20170224_120103.jpg?500|}} 
->  8 - Scales the current video frame to the display resolution and stores it into the next video frame buffer, then displays it. 
 > >
-{{tag>learn programmable-logic project arty-z7}}+{{tag>learn programmable-logic arty}}