Wiki

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
resources:fpga:xilinx:kc705:adv7511 [24 Nov 2020 09:22] – [Running Demo (SDK) Program] - update to projects Andrei Drimbareanresources:fpga:xilinx:kc705:adv7511 [08 Feb 2021 13:21] (current) – Change broken link Iulia Moldovan
Line 3: Line 3:
 ===== Introduction ===== ===== Introduction =====
  
-The [[adi>ADV7511]] is a 225 MHz High-Definition Multimedia Interface (HDMI®) transmitter. It is part of the [[http://www.xilinx.com/ac701|Artix-7 AC701]], [[http://www.xilinx.com/kc705|Kintex-7 KC705]], [[http://www.xilinx.com/vc707|Virtex-7 VC707]], [[http://www.xilinx.com/zc702|Zynq ZC702]], [[http://www.xilinx.com/zc706|Zynq ZC706]] and the [[http://www.xilinx.com/zed|Zynq ZED]] evaluation boards. This reference design provides the video and audio interface between the FPGA and ADV7511 on board. The video uses a 16bit 422 YCbCr interface (except VC707 which uses 36bit 444 RGB interface) and the audio uses a single bit SPDIF interface.+The [[adi>ADV7511]] is a 225 MHz High-Definition Multimedia Interface (HDMI®) transmitter. It is part of the [[xilinx>ac701|Artix-7 AC701]], [[xilinx>kc705|Kintex-7 KC705]], [[xilinx>vc707|Virtex-7 VC707]], [[xilinx>zc702|Zynq ZC702]], [[xilinx>zc706|Zynq ZC706]] and the [[xilinx>products/boards-and-kits/1-8dyf-11.html|Zynq ZED]] evaluation boards. This reference design provides the video and audio interface between the FPGA and ADV7511 on board. The video uses a 16bit 422 YCbCr interface (except VC707 which uses 36bit 444 RGB interface) and the audio uses a single bit SPDIF interface.
  
 ===== Supported Carriers ===== ===== Supported Carriers =====
Line 13: Line 13:
   * [[xilinx>ZC702]]    * [[xilinx>ZC702]] 
   * [[xilinx>ZC706]]    * [[xilinx>ZC706]] 
-  * [[http://zedboard.com/product/zedboard|ZED Board]] +  * [[xilinx>products/boards-and-kits/1-8dyf-11.html|ZED Board]] 
  
  
Line 32: Line 32:
  
   - To begin, connect an HDMI cable between the board HDMI out and the HDMI monitor. After the hardware setup, turn the power on to the board.   - To begin, connect an HDMI cable between the board HDMI out and the HDMI monitor. After the hardware setup, turn the power on to the board.
-  - Download the [[https://www.analog.com/media/en/dsp-hardware-software/software-modules/ADV7511_API_Library.exe | ADV7511 HDMI Transmitter Library]] and install it. Go to the **installation folder -> Src** and copy the TX folder into the **no-OS repo folder -> projects -> adv7511**. +  - Download the [[adi>media/en/dsp-hardware-software/software-modules/ADV7511_API_Library.exe | ADV7511 HDMI Transmitter Library]] and install it. Go to the **installation folder -> Src** and copy the TX folder into the **no-OS repo folder -> projects -> adv7511**. 
-  - Build the HDL project according to the [[https://wiki.analog.com/resources/fpga/docs/build |Building HDL wiki]] and copy the resulting .hdf file to the **no-OS repo folder -> projects -> adv7511**. +  - Build the HDL project according to the [[/resources/fpga/docs/build |Building HDL wiki]] and copy the resulting .hdf file to the **no-OS repo folder -> projects -> adv7511**. 
-  - Build the software project according to the [[https://github.com/analogdevicesinc/no-OS/wiki | Github wiki]].+  - Choose the carrier board in the software by uncommenting the appropriate define in the **src/app_config.h** file. For example, if the Zedboard carrier is needed, uncomment the #define PLATFORM_ZED in the file. {{ :resources:fpga:xilinx:kc705:example_soft_platform_choice.png |}} 
 +  - Build the software project according to the [[https://github.com/analogdevicesinc/no-OS/wiki | Github wiki]].50 
 + 
 +<note>If on Linux you would need Wine or similar compatibility layers for Windows to install the library.</note>
  
 If programming was successful, you should be seeing messages appear on the terminal as shown in figure below.  If programming was successful, you should be seeing messages appear on the terminal as shown in figure below. 
Line 107: Line 110:
 The project contains 2 components: the Reference Design files and the ADV7511 Transmitter Library. All the components have to be downloaded from the links provided in the **Downloads** section. The project contains 2 components: the Reference Design files and the ADV7511 Transmitter Library. All the components have to be downloaded from the links provided in the **Downloads** section.
  
-==== Software Setup for Vivado ==== +==== Serial Setup ====
- +
-Example for a ZC702 board: +
-  * After [[http://wiki.analog.com/resources/fpga/docs/hdl#building_on_vivado | building the project in Vivado]] for the used FPGA board, a //**SDK_Export**// folder will be created in //**../adv7511_board.sdk/SDK**// +
-  * Open the Xilinx SDK for Vivado. When the SDK starts it asks to provide a folder where to store the workspace. Any folder can be provided.  +
-  * Go to //**File->New->Application project**// +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_new_app_project.png?600 | New Application Project }} +
-  * Use a new hardware platform, so choose //**New**// in //**Target Hardware**// section +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_new_platform.png?400 | New Platform }}   +
-  * At the **Target Hardware Specification** section browse the location of the hardware description file. This file's extension should be **.xml** or **.hdf**, and is located in the directory of the hdl design. **Note:** If the file does not exist, probably you forgot to make an **Export hardware** (in Vivado **File** -> **Export** -> **Export Hardware...**) +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_new_hardware_project.png?400 | New Hardware Project }}  +
-  * Then give a name to the project and click //**Next**// +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_project_name.png?400 | Project Name }}   +
-  * In the next window choose //**Empty Application**// and click //**Finish**// +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_templates.png?400 | Available Templates }}    +
-  * Now the project without source code looks like this +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_empty_project_zynq.png?600 | Empty Project }}  +
-  * Then the no-OS software for the used FPGA board must be added from Github. Also the library must be added (ZC library for a Zynq based platform(except ZED), ZED library for a ZED platform or Microblaze library for AC701,KC705,VC707). +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_project_without_include_directory_and_library.png?600 | Project without directory and library path }}  +
-  * Afterwards click right on project name and go to //**Properties**// +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_project_properties.png?600 | Project properties }} +
-  * In the window that appears, go to //**Settings->Directories**// and include the path of the //**inc**// directory for both //**Debug**// and //**Release**// configurations. +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_settings_include_directory_path.png?600 | Include directory path }} +
-  * In the same window, go to //**Settings->Libraries**// and add the path of the //**lib**// folder and the name of the library used. For a Zynq based platform the name is //**HDMI_ZynqLib**// (libHDMI_ZynqLib.a on Github) and for a Microblaze the name is //**HDMI_MicroblazeLib**// (libHDMI_MicroblazeLib.a on Github)  +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_settings_include_library_path.png?600 | Include library path }} +
-  * The //Project Explorer// window now shows the projects that exist in the workspace and the files for each project. The SDK should automatically build the projects and the Console window will display the result of the build. If the build is not done automatically select the //**Project->Build Automatically**// menu option. +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_project_explorer_zynq.png?600 | Project Explorer }} +
-  * At this point the software project setup is complete, the FPGA can be programmed and the software can be downloaded into the system. You can program the FPGA by going to //**Xilinx Tools**//+
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_program_fpga.png?600 | Program FPGA}} +
-  * Then choose this bitstream and press //**Program**//+
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_program_fpga_with_bitstream.png?400 | Program FPGA with bitstream}} +
-  * This window will appear next. +
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_program_fpga_progress.png?400 | Program FPGA progress}} +
-  * Afterwards a //Run Configuration// must be created and then press //**Run**//+
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_run_configuration_.png?600 | Run Configuration}}+
  
   * The no-OS drivers source code does the following actions:   * The no-OS drivers source code does the following actions:
Line 150: Line 119:
   * This is what is transmitted through UART:   * This is what is transmitted through UART:
 {{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_uart.png?400 | UART }} {{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_uart.png?400 | UART }}
-  * The output of the example program can be viewed in the SDK console by enabling the //Connect STDIO Console// option and setting the baud rate of the UART port to 115200. 
-{{ :resources:fpga:xilinx:fmc:fmc-imageon:adv7511_stdio_config_vivado.png?600 | STDIO configuration }}  
  
 As an alternative an UART terminal can be used to capture the output of the example program. The number of used UART port depends on the computer's configuration. The following settings must be used in the UART terminal: As an alternative an UART terminal can be used to capture the output of the example program. The number of used UART port depends on the computer's configuration. The following settings must be used in the UART terminal:
Line 165: Line 132:
 The HDL Reference Designs and the no-OS Software can be downloaded from the Analog Devices Github.\\ The HDL Reference Designs and the no-OS Software can be downloaded from the Analog Devices Github.\\
 \\ \\
- 
-**Evaluation Scripts:** 
-<WRAP round download 80%> 
-    * **AC701 Evaluation Script: ** [[https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/evaluate/ac701]] 
-    * **KC705 Evaluation Script: ** [[https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/evaluate/kc705]] 
-    * **VC707 Evaluation Script: ** [[https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/evaluate/vc707]] 
-    * **ZC702 Evaluation Script: ** [[https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/evaluate/zc702]] 
-    * **ZC706 Evaluation Script: ** [[https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/evaluate/zc706]] 
-    * **Zed Evaluation Script: ** [[https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/evaluate/zed]] 
-</WRAP> 
  
 **HDL Reference Designs:** **HDL Reference Designs:**
Line 188: Line 145:
 **no-OS Software:** **no-OS Software:**
 <WRAP round download 80%> <WRAP round download 80%>
-  * **ADV7511 MicroBlaze Library: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/library/microblaze +  * **ADV7511 Project: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511
-  * **ADV7511 AC701 Reference Design: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/ac701 +
-  * **ADV7511 KC705 Reference Design: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/kc705  +
-  * **ADV7511 VC707 Reference Design: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/vc707 +
-  * **ADV7511 ZC Library: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/library/zc +
-  * **ADV7511 ZC702 Reference Design: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/zc702  +
-  * **ADV7511 ZC706 Reference Design: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/zc706 +
-  * **ADV7511 ZedBoard Library: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/library/zed +
-  * **ADV7511 ZedBoard Reference Design: ** https://github.com/analogdevicesinc/no-OS/tree/master/projects/adv7511/zed +
 </WRAP> </WRAP>
  
 <WRAP round help 80%> <WRAP round help 80%>
-  * Questions? [[https://ez.analog.com/community/fpga|Ask Help & Support]].+  * Questions? [[ez>community/fpga|Ask Help & Support]].
 </WRAP> </WRAP>
  
resources/fpga/xilinx/kc705/adv7511.1606206170.txt.gz · Last modified: 24 Nov 2020 09:22 by Andrei Drimbarean